Grammalecte  Hex Artifact Content

Artifact 63b1a41c995b9fed4a5a50811db9d93798e290c74fc79ad25372ca092c60e218:


0000: 2f 2f 20 47 72 61 6d 6d 61 6c 65 63 74 65 20 2d  // Grammalecte -
0010: 20 43 6f 6d 70 69 6c 65 64 20 72 65 67 75 6c 61   Compiled regula
0020: 72 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 0a 2f  r expressions../
0030: 2a 20 6a 73 68 69 6e 74 20 65 73 76 65 72 73 69  * jshint esversi
0040: 6f 6e 3a 36 20 2a 2f 0a 2f 2a 20 6a 73 6c 69 6e  on:6 */./* jslin
0050: 74 20 65 73 76 65 72 73 69 6f 6e 3a 36 20 2a 2f  t esversion:6 */
0060: 0a 0a 0a 76 61 72 20 63 72 65 67 65 78 20 3d 20  ...var cregex = 
0070: 7b 0a 20 20 20 20 2f 2f 2f 2f 2f 20 4c 65 6d 6d  {.    ///// Lemm
0080: 65 0a 20 20 20 20 5f 7a 4c 65 6d 6d 61 3a 20 6e  e.    _zLemma: n
0090: 65 77 20 52 65 67 45 78 70 28 22 3e 28 5b 61 2d  ew RegExp(">([a-
00a0: 7a c3 a0 2d c3 b6 c3 b8 2d c3 bf 30 2d 39 c4 80  z..-....-..0-9..
00b0: 2d ca af 5d 5b 61 2d 7a c3 a0 2d c3 b6 c3 b8 2d  -..][a-z..-....-
00c0: c3 bf 30 2d 39 c4 80 2d ca af 2d 5d 2b 29 22 29  ..0-9..-..-]+)")
00d0: 2c 0a 0a 20 20 20 20 2f 2f 2f 2f 2f 20 4d 61 73  ,..    ///// Mas
00e0: 63 75 6c 69 6e 20 2f 20 66 c3 a9 6d 69 6e 69 6e  culin / f..minin
00f0: 20 2f 20 73 69 6e 67 75 6c 69 65 72 20 2f 20 70   / singulier / p
0100: 6c 75 72 69 65 6c 0a 20 20 20 20 5f 7a 47 65 6e  luriel.    _zGen
0110: 64 65 72 3a 20 6e 65 77 20 52 65 67 45 78 70 28  der: new RegExp(
0120: 22 3a 5b 6d 66 65 5d 22 29 2c 0a 20 20 20 20 5f  ":[mfe]"),.    _
0130: 7a 4e 75 6d 62 65 72 3a 20 6e 65 77 20 52 65 67  zNumber: new Reg
0140: 45 78 70 28 22 3a 5b 73 70 69 5d 22 29 2c 0a 0a  Exp(":[spi]"),..
0150: 20 20 20 20 2f 2f 2f 2f 2f 20 4e 6f 6d 20 65 74      ///// Nom et
0160: 20 61 64 6a 65 63 74 69 66 0a 20 20 20 20 5f 7a   adjectif.    _z
0170: 4e 41 3a 20 6e 65 77 20 52 65 67 45 78 70 28 22  NA: new RegExp("
0180: 3a 5b 4e 41 5d 22 29 2c 0a 0a 20 20 20 20 2f 2f  :[NA]"),..    //
0190: 2f 2f 20 6e 6f 6d 62 72 65 0a 20 20 20 20 5f 7a  // nombre.    _z
01a0: 4e 41 73 3a 20 6e 65 77 20 52 65 67 45 78 70 28  NAs: new RegExp(
01b0: 22 3a 5b 4e 41 5d 2e 2a 3a 73 22 29 2c 0a 20 20  ":[NA].*:s"),.  
01c0: 20 20 5f 7a 4e 41 70 3a 20 6e 65 77 20 52 65 67    _zNAp: new Reg
01d0: 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a 70 22 29  Exp(":[NA].*:p")
01e0: 2c 0a 20 20 20 20 5f 7a 4e 41 69 3a 20 6e 65 77  ,.    _zNAi: new
01f0: 20 52 65 67 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a   RegExp(":[NA].*
0200: 3a 69 22 29 2c 0a 20 20 20 20 5f 7a 4e 41 73 69  :i"),.    _zNAsi
0210: 3a 20 6e 65 77 20 52 65 67 45 78 70 28 22 3a 5b  : new RegExp(":[
0220: 4e 41 5d 2e 2a 3a 5b 73 69 5d 22 29 2c 0a 20 20  NA].*:[si]"),.  
0230: 20 20 5f 7a 4e 41 70 69 3a 20 6e 65 77 20 52 65    _zNApi: new Re
0240: 67 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a 5b 70  gExp(":[NA].*:[p
0250: 69 5d 22 29 2c 0a 0a 20 20 20 20 2f 2f 2f 2f 20  i]"),..    //// 
0260: 67 65 6e 72 65 0a 20 20 20 20 5f 7a 4e 41 6d 3a  genre.    _zNAm:
0270: 20 6e 65 77 20 52 65 67 45 78 70 28 22 3a 5b 4e   new RegExp(":[N
0280: 41 5d 2e 2a 3a 6d 22 29 2c 0a 20 20 20 20 5f 7a  A].*:m"),.    _z
0290: 4e 41 66 3a 20 6e 65 77 20 52 65 67 45 78 70 28  NAf: new RegExp(
02a0: 22 3a 5b 4e 41 5d 2e 2a 3a 66 22 29 2c 0a 20 20  ":[NA].*:f"),.  
02b0: 20 20 5f 7a 4e 41 65 3a 20 6e 65 77 20 52 65 67    _zNAe: new Reg
02c0: 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a 65 22 29  Exp(":[NA].*:e")
02d0: 2c 0a 20 20 20 20 5f 7a 4e 41 6d 65 3a 20 6e 65  ,.    _zNAme: ne
02e0: 77 20 52 65 67 45 78 70 28 22 3a 5b 4e 41 5d 2e  w RegExp(":[NA].
02f0: 2a 3a 5b 6d 65 5d 22 29 2c 0a 20 20 20 20 5f 7a  *:[me]"),.    _z
0300: 4e 41 66 65 3a 20 6e 65 77 20 52 65 67 45 78 70  NAfe: new RegExp
0310: 28 22 3a 5b 4e 41 5d 2e 2a 3a 5b 66 65 5d 22 29  (":[NA].*:[fe]")
0320: 2c 0a 0a 20 20 20 20 2f 2f 2f 2f 20 6e 6f 6d 62  ,..    //// nomb
0330: 72 65 20 65 74 20 67 65 6e 72 65 0a 20 20 20 20  re et genre.    
0340: 2f 2f 20 73 69 6e 67 75 69 6c 69 65 72 0a 20 20  // singuilier.  
0350: 20 20 5f 7a 4e 41 6d 73 3a 20 6e 65 77 20 52 65    _zNAms: new Re
0360: 67 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a 6d 2e  gExp(":[NA].*:m.
0370: 2a 3a 73 22 29 2c 0a 20 20 20 20 5f 7a 4e 41 66  *:s"),.    _zNAf
0380: 73 3a 20 6e 65 77 20 52 65 67 45 78 70 28 22 3a  s: new RegExp(":
0390: 5b 4e 41 5d 2e 2a 3a 66 2e 2a 3a 73 22 29 2c 0a  [NA].*:f.*:s"),.
03a0: 20 20 20 20 5f 7a 4e 41 65 73 3a 20 6e 65 77 20      _zNAes: new 
03b0: 52 65 67 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a  RegExp(":[NA].*:
03c0: 65 2e 2a 3a 73 22 29 2c 0a 20 20 20 20 5f 7a 4e  e.*:s"),.    _zN
03d0: 41 6d 65 73 3a 20 6e 65 77 20 52 65 67 45 78 70  Ames: new RegExp
03e0: 28 22 3a 5b 4e 41 5d 2e 2a 3a 5b 6d 65 5d 2e 2a  (":[NA].*:[me].*
03f0: 3a 73 22 29 2c 0a 20 20 20 20 5f 7a 4e 41 66 65  :s"),.    _zNAfe
0400: 73 3a 20 6e 65 77 20 52 65 67 45 78 70 28 22 3a  s: new RegExp(":
0410: 5b 4e 41 5d 2e 2a 3a 5b 66 65 5d 2e 2a 3a 73 22  [NA].*:[fe].*:s"
0420: 29 2c 0a 0a 20 20 20 20 2f 2f 20 73 69 6e 67 75  ),..    // singu
0430: 6c 69 65 72 20 65 74 20 69 6e 76 61 72 69 61 62  lier et invariab
0440: 6c 65 0a 20 20 20 20 5f 7a 4e 41 6d 73 69 3a 20  le.    _zNAmsi: 
0450: 6e 65 77 20 52 65 67 45 78 70 28 22 3a 5b 4e 41  new RegExp(":[NA
0460: 5d 2e 2a 3a 6d 2e 2a 3a 5b 73 69 5d 22 29 2c 0a  ].*:m.*:[si]"),.
0470: 20 20 20 20 5f 7a 4e 41 66 73 69 3a 20 6e 65 77      _zNAfsi: new
0480: 20 52 65 67 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a   RegExp(":[NA].*
0490: 3a 66 2e 2a 3a 5b 73 69 5d 22 29 2c 0a 20 20 20  :f.*:[si]"),.   
04a0: 20 5f 7a 4e 41 65 73 69 3a 20 6e 65 77 20 52 65   _zNAesi: new Re
04b0: 67 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a 65 2e  gExp(":[NA].*:e.
04c0: 2a 3a 5b 73 69 5d 22 29 2c 0a 20 20 20 20 5f 7a  *:[si]"),.    _z
04d0: 4e 41 6d 65 73 69 3a 20 6e 65 77 20 52 65 67 45  NAmesi: new RegE
04e0: 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a 5b 6d 65 5d  xp(":[NA].*:[me]
04f0: 2e 2a 3a 5b 73 69 5d 22 29 2c 0a 20 20 20 20 5f  .*:[si]"),.    _
0500: 7a 4e 41 66 65 73 69 3a 20 6e 65 77 20 52 65 67  zNAfesi: new Reg
0510: 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a 5b 66 65  Exp(":[NA].*:[fe
0520: 5d 2e 2a 3a 5b 73 69 5d 22 29 2c 0a 0a 20 20 20  ].*:[si]"),..   
0530: 20 2f 2f 20 70 6c 75 72 69 65 6c 0a 20 20 20 20   // pluriel.    
0540: 5f 7a 4e 41 6d 70 3a 20 6e 65 77 20 52 65 67 45  _zNAmp: new RegE
0550: 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a 6d 2e 2a 3a  xp(":[NA].*:m.*:
0560: 70 22 29 2c 0a 20 20 20 20 5f 7a 4e 41 66 70 3a  p"),.    _zNAfp:
0570: 20 6e 65 77 20 52 65 67 45 78 70 28 22 3a 5b 4e   new RegExp(":[N
0580: 41 5d 2e 2a 3a 66 2e 2a 3a 70 22 29 2c 0a 20 20  A].*:f.*:p"),.  
0590: 20 20 5f 7a 4e 41 65 70 3a 20 6e 65 77 20 52 65    _zNAep: new Re
05a0: 67 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a 65 2e  gExp(":[NA].*:e.
05b0: 2a 3a 70 22 29 2c 0a 20 20 20 20 5f 7a 4e 41 6d  *:p"),.    _zNAm
05c0: 65 70 3a 20 6e 65 77 20 52 65 67 45 78 70 28 22  ep: new RegExp("
05d0: 3a 5b 4e 41 5d 2e 2a 3a 5b 6d 65 5d 2e 2a 3a 70  :[NA].*:[me].*:p
05e0: 22 29 2c 0a 20 20 20 20 5f 7a 4e 41 66 65 70 3a  "),.    _zNAfep:
05f0: 20 6e 65 77 20 52 65 67 45 78 70 28 22 3a 5b 4e   new RegExp(":[N
0600: 41 5d 2e 2a 3a 5b 6d 65 5d 2e 2a 3a 70 22 29 2c  A].*:[me].*:p"),
0610: 0a 0a 20 20 20 20 2f 2f 20 70 6c 75 72 69 65 6c  ..    // pluriel
0620: 20 65 74 20 69 6e 76 61 72 69 61 62 6c 65 0a 20   et invariable. 
0630: 20 20 20 5f 7a 4e 41 6d 70 69 3a 20 6e 65 77 20     _zNAmpi: new 
0640: 52 65 67 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a  RegExp(":[NA].*:
0650: 6d 2e 2a 3a 5b 70 69 5d 22 29 2c 0a 20 20 20 20  m.*:[pi]"),.    
0660: 5f 7a 4e 41 66 70 69 3a 20 6e 65 77 20 52 65 67  _zNAfpi: new Reg
0670: 45 78 70 28 22 3a 5b 4e 41 5d 2e 2a 3a 66 2e 2a  Exp(":[NA].*:f.*
0680: 3a 5b 70 69 5d 22 29 2c 0a 20 20 20 20 5f 7a 4e  :[pi]"),.    _zN
0690: 41 65 70 69 3a 20 6e 65 77 20 52 65 67 45 78 70  Aepi: new RegExp
06a0: 28 22 3a 5b 4e 41 5d 2e 2a 3a 65 2e 2a 3a 5b 70  (":[NA].*:e.*:[p
06b0: 69 5d 22 29 2c 0a 20 20 20 20 5f 7a 4e 41 6d 65  i]"),.    _zNAme
06c0: 70 69 3a 20 6e 65 77 20 52 65 67 45 78 70 28 22  pi: new RegExp("
06d0: 3a 5b 4e 41 5d 2e 2a 3a 5b 6d 65 5d 2e 2a 3a 5b  :[NA].*:[me].*:[
06e0: 70 69 5d 22 29 2c 0a 20 20 20 20 5f 7a 4e 41 66  pi]"),.    _zNAf
06f0: 65 70 69 3a 20 6e 65 77 20 52 65 67 45 78 70 28  epi: new RegExp(
0700: 22 3a 5b 4e 41 5d 2e 2a 3a 5b 66 65 5d 2e 2a 3a  ":[NA].*:[fe].*:
0710: 5b 70 69 5d 22 29 2c 0a 0a 20 20 20 20 2f 2f 2f  [pi]"),..    ///
0720: 2f 20 44 69 76 65 72 73 0a 20 20 20 20 5f 7a 41  / Divers.    _zA
0730: 44 3a 20 6e 65 77 20 52 65 67 45 78 70 28 22 3a  D: new RegExp(":
0740: 5b 41 42 5d 22 29 2c 0a 0a 20 20 20 20 2f 2f 2f  [AB]"),..    ///
0750: 2f 2f 20 56 65 72 62 65 0a 20 20 20 20 5f 7a 56  // Verbe.    _zV
0760: 63 6f 6e 6a 3a 20 6e 65 77 20 52 65 67 45 78 70  conj: new RegExp
0770: 28 22 3a 5b 31 32 33 5d 5b 73 70 5d 22 29 2c 0a  (":[123][sp]"),.
0780: 20 20 20 20 5f 7a 56 63 6f 6e 6a 31 32 33 3a 20      _zVconj123: 
0790: 6e 65 77 20 52 65 67 45 78 70 28 22 3a 56 5b 31  new RegExp(":V[1
07a0: 32 33 5d 2e 2a 3a 5b 31 32 33 5d 5b 73 70 5d 22  23].*:[123][sp]"
07b0: 29 2c 0a 0a 20 20 20 20 2f 2f 2f 2f 2f 20 4e 6f  ),..    ///// No
07c0: 6d 20 7c 20 41 64 6a 65 63 74 69 66 20 7c 20 56  m | Adjectif | V
07d0: 65 72 62 65 0a 20 20 20 20 5f 7a 4e 56 63 6f 6e  erbe.    _zNVcon
07e0: 6a 3a 20 6e 65 77 20 52 65 67 45 78 70 28 22 3a  j: new RegExp(":
07f0: 28 3f 3a 4e 7c 5b 31 32 33 5d 5b 73 70 5d 29 22  (?:N|[123][sp])"
0800: 29 2c 0a 20 20 20 20 5f 7a 4e 41 56 63 6f 6e 6a  ),.    _zNAVconj
0810: 3a 20 6e 65 77 20 52 65 67 45 78 70 28 22 3a 28  : new RegExp(":(
0820: 3f 3a 4e 7c 41 7c 5b 31 32 33 5d 5b 73 70 5d 29  ?:N|A|[123][sp])
0830: 22 29 2c 0a 0a 20 20 20 20 2f 2f 2f 2f 2f 20 53  "),..    ///// S
0840: 70 c3 a9 63 69 66 69 71 75 65 0a 20 20 20 20 5f  p..cifique.    _
0850: 7a 4e 6e 6f 74 41 3a 20 6e 65 77 20 52 65 67 45  zNnotA: new RegE
0860: 78 70 28 22 3a 4e 28 3f 21 3a 41 29 22 29 2c 0a  xp(":N(?!:A)"),.
0870: 20 20 20 20 5f 7a 50 4e 6e 6f 74 41 3a 20 6e 65      _zPNnotA: ne
0880: 77 20 52 65 67 45 78 70 28 22 3a 28 3f 3a 4e 28  w RegExp(":(?:N(
0890: 3f 21 3a 41 29 7c 51 29 22 29 2c 0a 0a 20 20 20  ?!:A)|Q)"),..   
08a0: 20 2f 2f 2f 2f 2f 20 4e 6f 6d 73 20 70 72 6f 70   ///// Noms prop
08b0: 72 65 73 0a 20 20 20 20 5f 7a 4e 50 3a 20 6e 65  res.    _zNP: ne
08c0: 77 20 52 65 67 45 78 70 28 22 3a 28 3f 3a 4d 5b  w RegExp(":(?:M[
08d0: 31 32 50 5d 7c 54 29 22 29 2c 0a 20 20 20 20 5f  12P]|T)"),.    _
08e0: 7a 4e 50 6d 3a 20 6e 65 77 20 52 65 67 45 78 70  zNPm: new RegExp
08f0: 28 22 3a 28 3f 3a 4d 5b 31 32 50 5d 7c 54 29 3a  (":(?:M[12P]|T):
0900: 6d 22 29 2c 0a 20 20 20 20 5f 7a 4e 50 66 3a 20  m"),.    _zNPf: 
0910: 6e 65 77 20 52 65 67 45 78 70 28 22 3a 28 3f 3a  new RegExp(":(?:
0920: 4d 5b 31 32 50 5d 7c 54 29 3a 66 22 29 2c 0a 20  M[12P]|T):f"),. 
0930: 20 20 20 5f 7a 4e 50 65 3a 20 6e 65 77 20 52 65     _zNPe: new Re
0940: 67 45 78 70 28 22 3a 28 3f 3a 4d 5b 31 32 50 5d  gExp(":(?:M[12P]
0950: 7c 54 29 3a 65 22 29 2c 0a 0a 0a 20 20 20 20 2f  |T):e"),...    /
0960: 2f 2f 2f 2f 20 46 4f 4e 43 54 49 4f 4e 53 0a 0a  //// FONCTIONS..
0970: 20 20 20 20 67 65 74 4c 65 6d 6d 61 4f 66 4d 6f      getLemmaOfMo
0980: 72 70 68 3a 20 66 75 6e 63 74 69 6f 6e 20 28 73  rph: function (s
0990: 4d 6f 72 70 68 29 20 7b 0a 20 20 20 20 20 20 20  Morph) {.       
09a0: 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f 7a 4c   return this._zL
09b0: 65 6d 6d 61 2e 65 78 65 63 28 73 4d 6f 72 70 68  emma.exec(sMorph
09c0: 29 5b 31 5d 3b 0a 20 20 20 20 7d 2c 0a 0a 20 20  )[1];.    },..  
09d0: 20 20 61 67 72 65 65 6d 65 6e 74 3a 20 66 75 6e    agreement: fun
09e0: 63 74 69 6f 6e 20 28 6c 31 2c 20 6c 32 29 20 7b  ction (l1, l2) {
09f0: 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 68 65 63  .        // chec
0a00: 6b 20 6e 75 6d 62 65 72 20 61 67 72 65 65 6d 65  k number agreeme
0a10: 6e 74 0a 20 20 20 20 20 20 20 20 69 66 20 28 21  nt.        if (!
0a20: 74 68 69 73 2e 6d 62 49 6e 76 28 6c 31 29 20 26  this.mbInv(l1) &
0a30: 26 20 21 74 68 69 73 2e 6d 62 49 6e 76 28 6c 32  & !this.mbInv(l2
0a40: 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  )) {.           
0a50: 20 69 66 20 28 74 68 69 73 2e 6d 62 53 67 28 6c   if (this.mbSg(l
0a60: 31 29 20 26 26 20 21 74 68 69 73 2e 6d 62 53 67  1) && !this.mbSg
0a70: 28 6c 32 29 29 20 7b 0a 20 20 20 20 20 20 20 20  (l2)) {.        
0a80: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66          return f
0a90: 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20  alse;.          
0aa0: 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20    }.            
0ab0: 69 66 20 28 74 68 69 73 2e 6d 62 50 6c 28 6c 31  if (this.mbPl(l1
0ac0: 29 20 26 26 20 21 74 68 69 73 2e 6d 62 50 6c 28  ) && !this.mbPl(
0ad0: 6c 32 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20  l2)) {.         
0ae0: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61         return fa
0af0: 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20  lse;.           
0b00: 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20   }.        }.   
0b10: 20 20 20 20 20 2f 2f 20 63 68 65 63 6b 20 67 65       // check ge
0b20: 6e 64 65 72 20 61 67 72 65 65 6d 65 6e 74 0a 20  nder agreement. 
0b30: 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e         if (this.
0b40: 6d 62 45 70 69 28 6c 31 29 20 7c 7c 20 74 68 69  mbEpi(l1) || thi
0b50: 73 2e 6d 62 45 70 69 28 6c 32 29 29 20 7b 0a 20  s.mbEpi(l2)) {. 
0b60: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72             retur
0b70: 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20  n true;.        
0b80: 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 68  }.        if (th
0b90: 69 73 2e 69 73 4d 61 73 28 6c 31 29 20 26 26 20  is.isMas(l1) && 
0ba0: 21 74 68 69 73 2e 6d 62 4d 61 73 28 6c 32 29 29  !this.mbMas(l2))
0bb0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72   {.            r
0bc0: 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20  eturn false;.   
0bd0: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69       }.        i
0be0: 66 20 28 74 68 69 73 2e 69 73 46 65 6d 28 6c 31  f (this.isFem(l1
0bf0: 29 20 26 26 20 21 74 68 69 73 2e 6d 62 46 65 6d  ) && !this.mbFem
0c00: 28 6c 32 29 29 20 7b 0a 20 20 20 20 20 20 20 20  (l2)) {.        
0c10: 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65      return false
0c20: 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20  ;.        }.    
0c30: 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b      return true;
0c40: 0a 20 20 20 20 7d 2c 0a 0a 20 20 20 20 63 68 65  .    },..    che
0c50: 63 6b 43 6f 6e 6a 56 65 72 62 3a 20 66 75 6e 63  ckConjVerb: func
0c60: 74 69 6f 6e 20 28 6c 4d 6f 72 70 68 2c 20 73 52  tion (lMorph, sR
0c70: 65 71 43 6f 6e 6a 29 20 7b 0a 20 20 20 20 20 20  eqConj) {.      
0c80: 20 20 72 65 74 75 72 6e 20 6c 4d 6f 72 70 68 2e    return lMorph.
0c90: 73 6f 6d 65 28 73 20 20 3d 3e 20 20 73 2e 69 6e  some(s  =>  s.in
0ca0: 63 6c 75 64 65 73 28 73 52 65 71 43 6f 6e 6a 29  cludes(sReqConj)
0cb0: 29 3b 0a 20 20 20 20 7d 2c 0a 0a 20 20 20 20 67  );.    },..    g
0cc0: 65 74 47 65 6e 64 65 72 3a 20 66 75 6e 63 74 69  etGender: functi
0cd0: 6f 6e 20 28 6c 4d 6f 72 70 68 29 20 7b 0a 20 20  on (lMorph) {.  
0ce0: 20 20 20 20 20 20 2f 2f 20 72 65 74 75 72 6e 73        // returns
0cf0: 20 67 65 6e 64 65 72 20 6f 66 20 77 6f 72 64 20   gender of word 
0d00: 28 27 3a 6d 27 2c 20 27 3a 66 27 2c 20 27 3a 65  (':m', ':f', ':e
0d10: 27 20 6f 72 20 65 6d 70 74 79 20 73 74 72 69 6e  ' or empty strin
0d20: 67 29 2e 0a 20 20 20 20 20 20 20 20 6c 65 74 20  g)..        let 
0d30: 73 47 65 6e 64 65 72 20 3d 20 22 22 3b 0a 20 20  sGender = "";.  
0d40: 20 20 20 20 20 20 66 6f 72 20 28 6c 65 74 20 73        for (let s
0d50: 4d 6f 72 70 68 20 6f 66 20 6c 4d 6f 72 70 68 29  Morph of lMorph)
0d60: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c   {.            l
0d70: 65 74 20 6d 20 3d 20 74 68 69 73 2e 5f 7a 47 65  et m = this._zGe
0d80: 6e 64 65 72 2e 65 78 65 63 28 73 4d 6f 72 70 68  nder.exec(sMorph
0d90: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69  );.            i
0da0: 66 20 28 6d 29 20 7b 0a 20 20 20 20 20 20 20 20  f (m) {.        
0db0: 20 20 20 20 20 20 20 20 69 66 20 28 21 73 47 65          if (!sGe
0dc0: 6e 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20  nder) {.        
0dd0: 20 20 20 20 20 20 20 20 20 20 20 20 73 47 65 6e              sGen
0de0: 64 65 72 20 3d 20 6d 5b 30 5d 3b 0a 20 20 20 20  der = m[0];.    
0df0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c              } el
0e00: 73 65 20 69 66 20 28 73 47 65 6e 64 65 72 20 21  se if (sGender !
0e10: 3d 20 6d 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20  = m[0]) {.      
0e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65                re
0e30: 74 75 72 6e 20 22 3a 65 22 3b 0a 20 20 20 20 20  turn ":e";.     
0e40: 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20             }.   
0e50: 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20           }.     
0e60: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74     }.        ret
0e70: 75 72 6e 20 73 47 65 6e 64 65 72 3b 0a 20 20 20  urn sGender;.   
0e80: 20 7d 2c 0a 0a 20 20 20 20 67 65 74 4e 75 6d 62   },..    getNumb
0e90: 65 72 3a 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d  er: function (lM
0ea0: 6f 72 70 68 29 20 7b 0a 20 20 20 20 20 20 20 20  orph) {.        
0eb0: 2f 2f 20 72 65 74 75 72 6e 73 20 6e 75 6d 62 65  // returns numbe
0ec0: 72 20 6f 66 20 77 6f 72 64 20 28 27 3a 73 27 2c  r of word (':s',
0ed0: 20 27 3a 70 27 2c 20 27 3a 69 27 20 6f 72 20 65   ':p', ':i' or e
0ee0: 6d 70 74 79 20 73 74 72 69 6e 67 29 2e 0a 20 20  mpty string)..  
0ef0: 20 20 20 20 20 20 6c 65 74 20 73 4e 75 6d 62 65        let sNumbe
0f00: 72 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20  r = "";.        
0f10: 66 6f 72 20 28 6c 65 74 20 73 4d 6f 72 70 68 20  for (let sMorph 
0f20: 6f 66 20 6c 4d 6f 72 70 68 29 20 7b 0a 20 20 20  of lMorph) {.   
0f30: 20 20 20 20 20 20 20 20 20 6c 65 74 20 6d 20 3d           let m =
0f40: 20 74 68 69 73 2e 5f 7a 4e 75 6d 62 65 72 2e 65   this._zNumber.e
0f50: 78 65 63 28 73 57 6f 72 64 29 3b 0a 20 20 20 20  xec(sWord);.    
0f60: 20 20 20 20 20 20 20 20 69 66 20 28 6d 29 20 7b          if (m) {
0f70: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0f80: 20 69 66 20 28 21 73 4e 75 6d 62 65 72 29 20 7b   if (!sNumber) {
0f90: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0fa0: 20 20 20 20 20 73 4e 75 6d 62 65 72 20 3d 20 6d       sNumber = m
0fb0: 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20  [0];.           
0fc0: 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28       } else if (
0fd0: 73 4e 75 6d 62 65 72 20 21 3d 20 6d 5b 30 5d 29  sNumber != m[0])
0fe0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   {.             
0ff0: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 3a         return ":
1000: 69 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  i";.            
1010: 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20      }.          
1020: 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20    }.        }.  
1030: 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 4e 75        return sNu
1040: 6d 62 65 72 3b 0a 20 20 20 20 7d 2c 0a 0a 20 20  mber;.    },..  
1050: 20 20 2f 2f 20 4e 4f 54 45 20 3a 20 20 69 73 57    // NOTE :  isW
1060: 68 61 74 20 28 6c 4d 6f 72 70 68 29 20 20 20 20  hat (lMorph)    
1070: 72 65 74 75 72 6e 73 20 74 72 75 65 20 20 20 69  returns true   i
1080: 66 20 6c 4d 6f 72 70 68 20 63 6f 6e 74 61 69 6e  f lMorph contain
1090: 73 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 74  s nothing else t
10a0: 68 61 6e 20 57 68 61 74 0a 20 20 20 20 2f 2f 20  han What.    // 
10b0: 20 20 20 20 20 20 20 20 6d 62 57 68 61 74 20 28          mbWhat (
10c0: 6c 4d 6f 72 70 68 29 20 20 20 20 72 65 74 75 72  lMorph)    retur
10d0: 6e 73 20 74 72 75 65 20 20 20 69 66 20 6c 4d 6f  ns true   if lMo
10e0: 72 70 68 20 63 6f 6e 74 61 69 6e 73 20 57 68 61  rph contains Wha
10f0: 74 20 61 74 20 6c 65 61 73 74 20 6f 6e 63 65 0a  t at least once.
1100: 0a 20 20 20 20 2f 2f 2f 2f 20 69 73 58 58 58 20  .    //// isXXX 
1110: 3d 20 69 74 e2 80 99 73 20 63 65 72 74 61 69 6e  = it...s certain
1120: 0a 0a 20 20 20 20 69 73 4e 6f 6d 3a 20 66 75 6e  ..    isNom: fun
1130: 63 74 69 6f 6e 20 28 6c 4d 6f 72 70 68 29 20 7b  ction (lMorph) {
1140: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20  .        return 
1150: 6c 4d 6f 72 70 68 2e 65 76 65 72 79 28 73 20 20  lMorph.every(s  
1160: 3d 3e 20 20 73 2e 69 6e 63 6c 75 64 65 73 28 22  =>  s.includes("
1170: 3a 4e 22 29 29 3b 0a 20 20 20 20 7d 2c 0a 0a 20  :N"));.    },.. 
1180: 20 20 20 69 73 4e 6f 6d 4e 6f 74 41 64 6a 3a 20     isNomNotAdj: 
1190: 66 75 6e 63 74 69 6f 6e 20 28 6c 4d 6f 72 70 68  function (lMorph
11a0: 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75  ) {.        retu
11b0: 72 6e 20 6c 4d 6f 72 70 68 2e 65 76 65 72 79 28  rn lMorph.every(
11c0: 73 20 20 3d 3e 20 20 74 68 69 73 2e 5f 7a 4e 6e  s  =>  this._zNn
11d0: 6f 74 41 2e 74 65 73 74 28 73 29 29 3b 0a 20 20  otA.test(s));.  
11e0: 20 20 7d 2c 0a 0a 20 20 20 20 69 73 41 64 6a 3a    },..    isAdj:
11f0: 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d 6f 72 70   function (lMorp
1200: 68 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74  h) {.        ret
1210: 75 72 6e 20 6c 4d 6f 72 70 68 2e 65 76 65 72 79  urn lMorph.every
1220: 28 73 20 20 3d 3e 20 20 73 2e 69 6e 63 6c 75 64  (s  =>  s.includ
1230: 65 73 28 22 3a 41 22 29 29 3b 0a 20 20 20 20 7d  es(":A"));.    }
1240: 2c 0a 0a 20 20 20 20 69 73 4e 6f 6d 41 64 6a 3a  ,..    isNomAdj:
1250: 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d 6f 72 70   function (lMorp
1260: 68 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74  h) {.        ret
1270: 75 72 6e 20 6c 4d 6f 72 70 68 2e 65 76 65 72 79  urn lMorph.every
1280: 28 73 20 20 3d 3e 20 20 74 68 69 73 2e 5f 7a 4e  (s  =>  this._zN
1290: 41 2e 74 65 73 74 28 73 29 29 3b 0a 20 20 20 20  A.test(s));.    
12a0: 7d 2c 0a 0a 20 20 20 20 69 73 4e 6f 6d 56 63 6f  },..    isNomVco
12b0: 6e 6a 3a 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d  nj: function (lM
12c0: 6f 72 70 68 29 20 7b 0a 20 20 20 20 20 20 20 20  orph) {.        
12d0: 72 65 74 75 72 6e 20 6c 4d 6f 72 70 68 2e 65 76  return lMorph.ev
12e0: 65 72 79 28 73 20 20 3d 3e 20 20 74 68 69 73 2e  ery(s  =>  this.
12f0: 5f 7a 4e 56 63 6f 6e 6a 2e 74 65 73 74 28 73 29  _zNVconj.test(s)
1300: 29 3b 0a 20 20 20 20 7d 2c 0a 0a 20 20 20 20 69  );.    },..    i
1310: 73 49 6e 76 3a 20 66 75 6e 63 74 69 6f 6e 20 28  sInv: function (
1320: 6c 4d 6f 72 70 68 29 20 7b 0a 20 20 20 20 20 20  lMorph) {.      
1330: 20 20 72 65 74 75 72 6e 20 6c 4d 6f 72 70 68 2e    return lMorph.
1340: 65 76 65 72 79 28 73 20 20 3d 3e 20 20 73 2e 69  every(s  =>  s.i
1350: 6e 63 6c 75 64 65 73 28 22 3a 69 22 29 29 3b 0a  ncludes(":i"));.
1360: 20 20 20 20 7d 2c 0a 20 20 20 20 69 73 53 67 3a      },.    isSg:
1370: 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d 6f 72 70   function (lMorp
1380: 68 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74  h) {.        ret
1390: 75 72 6e 20 6c 4d 6f 72 70 68 2e 65 76 65 72 79  urn lMorph.every
13a0: 28 73 20 20 3d 3e 20 20 73 2e 69 6e 63 6c 75 64  (s  =>  s.includ
13b0: 65 73 28 22 3a 73 22 29 29 3b 0a 20 20 20 20 7d  es(":s"));.    }
13c0: 2c 0a 20 20 20 20 69 73 50 6c 3a 20 66 75 6e 63  ,.    isPl: func
13d0: 74 69 6f 6e 20 28 6c 4d 6f 72 70 68 29 20 7b 0a  tion (lMorph) {.
13e0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c          return l
13f0: 4d 6f 72 70 68 2e 65 76 65 72 79 28 73 20 20 3d  Morph.every(s  =
1400: 3e 20 20 73 2e 69 6e 63 6c 75 64 65 73 28 22 3a  >  s.includes(":
1410: 70 22 29 29 3b 0a 20 20 20 20 7d 2c 0a 20 20 20  p"));.    },.   
1420: 20 69 73 45 70 69 3a 20 66 75 6e 63 74 69 6f 6e   isEpi: function
1430: 20 28 6c 4d 6f 72 70 68 29 20 7b 0a 20 20 20 20   (lMorph) {.    
1440: 20 20 20 20 72 65 74 75 72 6e 20 6c 4d 6f 72 70      return lMorp
1450: 68 2e 65 76 65 72 79 28 73 20 20 3d 3e 20 20 73  h.every(s  =>  s
1460: 2e 69 6e 63 6c 75 64 65 73 28 22 3a 65 22 29 29  .includes(":e"))
1470: 3b 0a 20 20 20 20 7d 2c 0a 20 20 20 20 69 73 4d  ;.    },.    isM
1480: 61 73 3a 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d  as: function (lM
1490: 6f 72 70 68 29 20 7b 0a 20 20 20 20 20 20 20 20  orph) {.        
14a0: 72 65 74 75 72 6e 20 6c 4d 6f 72 70 68 2e 65 76  return lMorph.ev
14b0: 65 72 79 28 73 20 20 3d 3e 20 20 73 2e 69 6e 63  ery(s  =>  s.inc
14c0: 6c 75 64 65 73 28 22 3a 6d 22 29 29 3b 0a 20 20  ludes(":m"));.  
14d0: 20 20 7d 2c 0a 20 20 20 20 69 73 46 65 6d 3a 20    },.    isFem: 
14e0: 66 75 6e 63 74 69 6f 6e 20 28 6c 4d 6f 72 70 68  function (lMorph
14f0: 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75  ) {.        retu
1500: 72 6e 20 6c 4d 6f 72 70 68 2e 65 76 65 72 79 28  rn lMorph.every(
1510: 73 20 20 3d 3e 20 20 73 2e 69 6e 63 6c 75 64 65  s  =>  s.include
1520: 73 28 22 3a 66 22 29 29 3b 0a 20 20 20 20 7d 2c  s(":f"));.    },
1530: 0a 0a 0a 20 20 20 20 2f 2f 2f 2f 20 6d 62 58 58  ...    //// mbXX
1540: 58 20 3d 20 4d 41 59 42 45 20 58 58 58 0a 0a 20  X = MAYBE XXX.. 
1550: 20 20 20 6d 62 4e 6f 6d 3a 20 66 75 6e 63 74 69     mbNom: functi
1560: 6f 6e 20 28 6c 4d 6f 72 70 68 29 20 7b 0a 20 20  on (lMorph) {.  
1570: 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 4d 6f        return lMo
1580: 72 70 68 2e 73 6f 6d 65 28 73 20 20 3d 3e 20 20  rph.some(s  =>  
1590: 73 2e 69 6e 63 6c 75 64 65 73 28 22 3a 4e 22 29  s.includes(":N")
15a0: 29 3b 0a 20 20 20 20 7d 2c 0a 0a 20 20 20 20 6d  );.    },..    m
15b0: 62 41 64 6a 3a 20 66 75 6e 63 74 69 6f 6e 20 28  bAdj: function (
15c0: 6c 4d 6f 72 70 68 29 20 7b 0a 20 20 20 20 20 20  lMorph) {.      
15d0: 20 20 72 65 74 75 72 6e 20 6c 4d 6f 72 70 68 2e    return lMorph.
15e0: 73 6f 6d 65 28 73 20 20 3d 3e 20 20 73 2e 69 6e  some(s  =>  s.in
15f0: 63 6c 75 64 65 73 28 22 3a 41 22 29 29 3b 0a 20  cludes(":A"));. 
1600: 20 20 20 7d 2c 0a 0a 20 20 20 20 6d 62 41 64 6a     },..    mbAdj
1610: 4e 62 3a 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d  Nb: function (lM
1620: 6f 72 70 68 29 20 7b 0a 20 20 20 20 20 20 20 20  orph) {.        
1630: 72 65 74 75 72 6e 20 6c 4d 6f 72 70 68 2e 73 6f  return lMorph.so
1640: 6d 65 28 73 20 20 3d 3e 20 20 74 68 69 73 2e 5f  me(s  =>  this._
1650: 7a 41 44 2e 74 65 73 74 28 73 29 29 3b 0a 20 20  zAD.test(s));.  
1660: 20 20 7d 2c 0a 0a 20 20 20 20 6d 62 4e 6f 6d 41    },..    mbNomA
1670: 64 6a 3a 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d  dj: function (lM
1680: 6f 72 70 68 29 20 7b 0a 20 20 20 20 20 20 20 20  orph) {.        
1690: 72 65 74 75 72 6e 20 6c 4d 6f 72 70 68 2e 73 6f  return lMorph.so
16a0: 6d 65 28 73 20 20 3d 3e 20 20 74 68 69 73 2e 5f  me(s  =>  this._
16b0: 7a 4e 41 2e 74 65 73 74 28 73 29 29 3b 0a 20 20  zNA.test(s));.  
16c0: 20 20 7d 2c 0a 0a 20 20 20 20 6d 62 4e 6f 6d 4e    },..    mbNomN
16d0: 6f 74 41 64 6a 3a 20 66 75 6e 63 74 69 6f 6e 20  otAdj: function 
16e0: 28 6c 4d 6f 72 70 68 29 20 7b 0a 20 20 20 20 20  (lMorph) {.     
16f0: 20 20 20 6c 65 74 20 62 20 3d 20 66 61 6c 73 65     let b = false
1700: 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 6c  ;.        for (l
1710: 65 74 20 73 20 6f 66 20 6c 4d 6f 72 70 68 29 20  et s of lMorph) 
1720: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  {.            if
1730: 20 28 73 2e 69 6e 63 6c 75 64 65 73 28 22 3a 41   (s.includes(":A
1740: 22 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20  ")) {.          
1750: 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c        return fal
1760: 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  se;.            
1770: 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  }.            if
1780: 20 28 73 2e 69 6e 63 6c 75 64 65 73 28 22 3a 4e   (s.includes(":N
1790: 22 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20  ")) {.          
17a0: 20 20 20 20 20 20 62 20 3d 20 74 72 75 65 3b 0a        b = true;.
17b0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20              }.  
17c0: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
17d0: 72 65 74 75 72 6e 20 62 3b 0a 20 20 20 20 7d 2c  return b;.    },
17e0: 0a 0a 20 20 20 20 6d 62 50 70 61 73 4e 6f 6d 4e  ..    mbPpasNomN
17f0: 6f 74 41 64 6a 3a 20 66 75 6e 63 74 69 6f 6e 20  otAdj: function 
1800: 28 6c 4d 6f 72 70 68 29 20 7b 0a 20 20 20 20 20  (lMorph) {.     
1810: 20 20 20 72 65 74 75 72 6e 20 6c 4d 6f 72 70 68     return lMorph
1820: 2e 73 6f 6d 65 28 73 20 20 3d 3e 20 20 74 68 69  .some(s  =>  thi
1830: 73 2e 5f 7a 50 4e 6e 6f 74 41 2e 74 65 73 74 28  s._zPNnotA.test(
1840: 73 29 29 3b 0a 20 20 20 20 7d 2c 0a 0a 20 20 20  s));.    },..   
1850: 20 6d 62 56 63 6f 6e 6a 3a 20 66 75 6e 63 74 69   mbVconj: functi
1860: 6f 6e 20 28 6c 4d 6f 72 70 68 29 20 7b 0a 20 20  on (lMorph) {.  
1870: 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 4d 6f        return lMo
1880: 72 70 68 2e 73 6f 6d 65 28 73 20 20 3d 3e 20 20  rph.some(s  =>  
1890: 74 68 69 73 2e 5f 7a 56 63 6f 6e 6a 2e 74 65 73  this._zVconj.tes
18a0: 74 28 73 29 29 3b 0a 20 20 20 20 7d 2c 0a 0a 20  t(s));.    },.. 
18b0: 20 20 20 6d 62 56 63 6f 6e 6a 31 32 33 3a 20 66     mbVconj123: f
18c0: 75 6e 63 74 69 6f 6e 20 28 6c 4d 6f 72 70 68 29  unction (lMorph)
18d0: 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72   {.        retur
18e0: 6e 20 6c 4d 6f 72 70 68 2e 73 6f 6d 65 28 73 20  n lMorph.some(s 
18f0: 20 3d 3e 20 20 74 68 69 73 2e 5f 7a 56 63 6f 6e   =>  this._zVcon
1900: 6a 31 32 33 2e 74 65 73 74 28 73 29 29 3b 0a 20  j123.test(s));. 
1910: 20 20 20 7d 2c 0a 0a 20 20 20 20 6d 62 4d 47 3a     },..    mbMG:
1920: 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d 6f 72 70   function (lMorp
1930: 68 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74  h) {.        ret
1940: 75 72 6e 20 6c 4d 6f 72 70 68 2e 73 6f 6d 65 28  urn lMorph.some(
1950: 73 20 20 3d 3e 20 20 73 2e 69 6e 63 6c 75 64 65  s  =>  s.include
1960: 73 28 22 3a 47 22 29 29 3b 0a 20 20 20 20 7d 2c  s(":G"));.    },
1970: 0a 0a 20 20 20 20 6d 62 49 6e 76 3a 20 66 75 6e  ..    mbInv: fun
1980: 63 74 69 6f 6e 20 28 6c 4d 6f 72 70 68 29 20 7b  ction (lMorph) {
1990: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20  .        return 
19a0: 6c 4d 6f 72 70 68 2e 73 6f 6d 65 28 73 20 20 3d  lMorph.some(s  =
19b0: 3e 20 20 73 2e 69 6e 63 6c 75 64 65 73 28 22 3a  >  s.includes(":
19c0: 69 22 29 29 3b 0a 20 20 20 20 7d 2c 0a 20 20 20  i"));.    },.   
19d0: 20 6d 62 53 67 3a 20 66 75 6e 63 74 69 6f 6e 20   mbSg: function 
19e0: 28 6c 4d 6f 72 70 68 29 20 7b 0a 20 20 20 20 20  (lMorph) {.     
19f0: 20 20 20 72 65 74 75 72 6e 20 6c 4d 6f 72 70 68     return lMorph
1a00: 2e 73 6f 6d 65 28 73 20 20 3d 3e 20 20 73 2e 69  .some(s  =>  s.i
1a10: 6e 63 6c 75 64 65 73 28 22 3a 73 22 29 29 3b 0a  ncludes(":s"));.
1a20: 20 20 20 20 7d 2c 0a 20 20 20 20 6d 62 50 6c 3a      },.    mbPl:
1a30: 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d 6f 72 70   function (lMorp
1a40: 68 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74  h) {.        ret
1a50: 75 72 6e 20 6c 4d 6f 72 70 68 2e 73 6f 6d 65 28  urn lMorph.some(
1a60: 73 20 20 3d 3e 20 20 73 2e 69 6e 63 6c 75 64 65  s  =>  s.include
1a70: 73 28 22 3a 70 22 29 29 3b 0a 20 20 20 20 7d 2c  s(":p"));.    },
1a80: 0a 20 20 20 20 6d 62 45 70 69 3a 20 66 75 6e 63  .    mbEpi: func
1a90: 74 69 6f 6e 20 28 6c 4d 6f 72 70 68 29 20 7b 0a  tion (lMorph) {.
1aa0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c          return l
1ab0: 4d 6f 72 70 68 2e 73 6f 6d 65 28 73 20 20 3d 3e  Morph.some(s  =>
1ac0: 20 20 73 2e 69 6e 63 6c 75 64 65 73 28 22 3a 65    s.includes(":e
1ad0: 22 29 29 3b 0a 20 20 20 20 7d 2c 0a 20 20 20 20  "));.    },.    
1ae0: 6d 62 4d 61 73 3a 20 66 75 6e 63 74 69 6f 6e 20  mbMas: function 
1af0: 28 6c 4d 6f 72 70 68 29 20 7b 0a 20 20 20 20 20  (lMorph) {.     
1b00: 20 20 20 72 65 74 75 72 6e 20 6c 4d 6f 72 70 68     return lMorph
1b10: 2e 73 6f 6d 65 28 73 20 20 3d 3e 20 20 73 2e 69  .some(s  =>  s.i
1b20: 6e 63 6c 75 64 65 73 28 22 3a 6d 22 29 29 3b 0a  ncludes(":m"));.
1b30: 20 20 20 20 7d 2c 0a 20 20 20 20 6d 62 46 65 6d      },.    mbFem
1b40: 3a 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d 6f 72  : function (lMor
1b50: 70 68 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65  ph) {.        re
1b60: 74 75 72 6e 20 6c 4d 6f 72 70 68 2e 73 6f 6d 65  turn lMorph.some
1b70: 28 73 20 20 3d 3e 20 20 73 2e 69 6e 63 6c 75 64  (s  =>  s.includ
1b80: 65 73 28 22 3a 66 22 29 29 3b 0a 20 20 20 20 7d  es(":f"));.    }
1b90: 2c 0a 0a 20 20 20 20 6d 62 4e 70 72 3a 20 66 75  ,..    mbNpr: fu
1ba0: 6e 63 74 69 6f 6e 20 28 6c 4d 6f 72 70 68 29 20  nction (lMorph) 
1bb0: 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e  {.        return
1bc0: 20 6c 4d 6f 72 70 68 2e 73 6f 6d 65 28 73 20 20   lMorph.some(s  
1bd0: 3d 3e 20 20 74 68 69 73 2e 5f 7a 4e 50 2e 74 65  =>  this._zNP.te
1be0: 73 74 28 73 29 29 3b 0a 20 20 20 20 7d 2c 0a 0a  st(s));.    },..
1bf0: 20 20 20 20 6d 62 4e 70 72 4d 61 73 4e 6f 74 46      mbNprMasNotF
1c00: 65 6d 3a 20 66 75 6e 63 74 69 6f 6e 20 28 6c 4d  em: function (lM
1c10: 6f 72 70 68 29 20 7b 0a 20 20 20 20 20 20 20 20  orph) {.        
1c20: 69 66 20 28 6c 4d 6f 72 70 68 2e 73 6f 6d 65 28  if (lMorph.some(
1c30: 73 20 20 3d 3e 20 20 74 68 69 73 2e 5f 7a 4e 50  s  =>  this._zNP
1c40: 66 2e 74 65 73 74 28 73 29 29 29 20 7b 0a 20 20  f.test(s))) {.  
1c50: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e            return
1c60: 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20   false;.        
1c70: 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e  }.        return
1c80: 20 6c 4d 6f 72 70 68 2e 73 6f 6d 65 28 73 20 20   lMorph.some(s  
1c90: 3d 3e 20 20 74 68 69 73 2e 5f 7a 4e 50 6d 2e 74  =>  this._zNPm.t
1ca0: 65 73 74 28 73 29 29 3b 0a 20 20 20 20 7d 0a 7d  est(s));.    }.}
1cb0: 3b 0a 0a 0a 69 66 20 28 74 79 70 65 6f 66 28 65  ;...if (typeof(e
1cc0: 78 70 6f 72 74 73 29 20 21 3d 3d 20 27 75 6e 64  xports) !== 'und
1cd0: 65 66 69 6e 65 64 27 29 20 7b 0a 20 20 20 20 65  efined') {.    e
1ce0: 78 70 6f 72 74 73 2e 5f 7a 4c 65 6d 6d 61 20 3d  xports._zLemma =
1cf0: 20 63 72 65 67 65 78 2e 5f 7a 4c 65 6d 6d 61 3b   cregex._zLemma;
1d00: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 47  .    exports._zG
1d10: 65 6e 64 65 72 20 3d 20 63 72 65 67 65 78 2e 5f  ender = cregex._
1d20: 7a 47 65 6e 64 65 72 3b 0a 20 20 20 20 65 78 70  zGender;.    exp
1d30: 6f 72 74 73 2e 5f 7a 4e 75 6d 62 65 72 20 3d 20  orts._zNumber = 
1d40: 63 72 65 67 65 78 2e 5f 7a 4e 75 6d 62 65 72 3b  cregex._zNumber;
1d50: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 4e  .    exports._zN
1d60: 41 20 3d 20 63 72 65 67 65 78 2e 5f 7a 4e 41 3b  A = cregex._zNA;
1d70: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 4e  .    exports._zN
1d80: 41 73 20 3d 20 63 72 65 67 65 78 2e 5f 7a 4e 41  As = cregex._zNA
1d90: 73 3b 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f  s;.    exports._
1da0: 7a 4e 41 70 20 3d 20 63 72 65 67 65 78 2e 5f 7a  zNAp = cregex._z
1db0: 4e 41 70 3b 0a 20 20 20 20 65 78 70 6f 72 74 73  NAp;.    exports
1dc0: 2e 5f 7a 4e 41 69 20 3d 20 63 72 65 67 65 78 2e  ._zNAi = cregex.
1dd0: 5f 7a 4e 41 69 3b 0a 20 20 20 20 65 78 70 6f 72  _zNAi;.    expor
1de0: 74 73 2e 5f 7a 4e 41 73 69 20 3d 20 63 72 65 67  ts._zNAsi = creg
1df0: 65 78 2e 5f 7a 4e 41 73 69 3b 0a 20 20 20 20 65  ex._zNAsi;.    e
1e00: 78 70 6f 72 74 73 2e 5f 7a 4e 41 70 69 20 3d 20  xports._zNApi = 
1e10: 63 72 65 67 65 78 2e 5f 7a 4e 41 70 69 3b 0a 20  cregex._zNApi;. 
1e20: 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 4e 41 6d     exports._zNAm
1e30: 20 3d 20 63 72 65 67 65 78 2e 5f 7a 4e 41 6d 3b   = cregex._zNAm;
1e40: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 4e  .    exports._zN
1e50: 41 66 20 3d 20 63 72 65 67 65 78 2e 5f 7a 4e 41  Af = cregex._zNA
1e60: 66 3b 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f  f;.    exports._
1e70: 7a 4e 41 65 20 3d 20 63 72 65 67 65 78 2e 5f 7a  zNAe = cregex._z
1e80: 4e 41 65 3b 0a 20 20 20 20 65 78 70 6f 72 74 73  NAe;.    exports
1e90: 2e 5f 7a 4e 41 6d 65 20 3d 20 63 72 65 67 65 78  ._zNAme = cregex
1ea0: 2e 5f 7a 4e 41 6d 65 3b 0a 20 20 20 20 65 78 70  ._zNAme;.    exp
1eb0: 6f 72 74 73 2e 5f 7a 4e 41 66 65 20 3d 20 63 72  orts._zNAfe = cr
1ec0: 65 67 65 78 2e 5f 7a 4e 41 66 65 3b 0a 20 20 20  egex._zNAfe;.   
1ed0: 20 65 78 70 6f 72 74 73 2e 5f 7a 4e 41 6d 73 20   exports._zNAms 
1ee0: 3d 20 63 72 65 67 65 78 2e 5f 7a 4e 41 6d 73 3b  = cregex._zNAms;
1ef0: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 4e  .    exports._zN
1f00: 41 66 73 20 3d 20 63 72 65 67 65 78 2e 5f 7a 4e  Afs = cregex._zN
1f10: 41 66 73 3b 0a 20 20 20 20 65 78 70 6f 72 74 73  Afs;.    exports
1f20: 2e 5f 7a 4e 41 65 73 20 3d 20 63 72 65 67 65 78  ._zNAes = cregex
1f30: 2e 5f 7a 4e 41 65 73 3b 0a 20 20 20 20 65 78 70  ._zNAes;.    exp
1f40: 6f 72 74 73 2e 5f 7a 4e 41 6d 65 73 20 3d 20 63  orts._zNAmes = c
1f50: 72 65 67 65 78 2e 5f 7a 4e 41 6d 65 73 3b 0a 20  regex._zNAmes;. 
1f60: 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 4e 41 66     exports._zNAf
1f70: 65 73 20 3d 20 63 72 65 67 65 78 2e 5f 7a 4e 41  es = cregex._zNA
1f80: 66 65 73 3b 0a 20 20 20 20 65 78 70 6f 72 74 73  fes;.    exports
1f90: 2e 5f 7a 4e 41 6d 73 69 20 3d 20 63 72 65 67 65  ._zNAmsi = crege
1fa0: 78 2e 5f 7a 4e 41 6d 73 69 3b 0a 20 20 20 20 65  x._zNAmsi;.    e
1fb0: 78 70 6f 72 74 73 2e 5f 7a 4e 41 66 73 69 20 3d  xports._zNAfsi =
1fc0: 20 63 72 65 67 65 78 2e 5f 7a 4e 41 66 73 69 3b   cregex._zNAfsi;
1fd0: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 4e  .    exports._zN
1fe0: 41 65 73 69 20 3d 20 63 72 65 67 65 78 2e 5f 7a  Aesi = cregex._z
1ff0: 4e 41 65 73 69 3b 0a 20 20 20 20 65 78 70 6f 72  NAesi;.    expor
2000: 74 73 2e 5f 7a 4e 41 6d 65 73 69 20 3d 20 63 72  ts._zNAmesi = cr
2010: 65 67 65 78 2e 5f 7a 4e 41 6d 65 73 69 3b 0a 20  egex._zNAmesi;. 
2020: 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 4e 41 66     exports._zNAf
2030: 65 73 69 20 3d 20 63 72 65 67 65 78 2e 5f 7a 4e  esi = cregex._zN
2040: 41 66 65 73 69 3b 0a 20 20 20 20 65 78 70 6f 72  Afesi;.    expor
2050: 74 73 2e 5f 7a 4e 41 6d 70 20 3d 20 63 72 65 67  ts._zNAmp = creg
2060: 65 78 2e 5f 7a 4e 41 6d 70 3b 0a 20 20 20 20 65  ex._zNAmp;.    e
2070: 78 70 6f 72 74 73 2e 5f 7a 4e 41 66 70 20 3d 20  xports._zNAfp = 
2080: 63 72 65 67 65 78 2e 5f 7a 4e 41 66 70 3b 0a 20  cregex._zNAfp;. 
2090: 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 4e 41 65     exports._zNAe
20a0: 70 20 3d 20 63 72 65 67 65 78 2e 5f 7a 4e 41 65  p = cregex._zNAe
20b0: 70 3b 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f  p;.    exports._
20c0: 7a 4e 41 6d 65 70 20 3d 20 63 72 65 67 65 78 2e  zNAmep = cregex.
20d0: 5f 7a 4e 41 6d 65 70 3b 0a 20 20 20 20 65 78 70  _zNAmep;.    exp
20e0: 6f 72 74 73 2e 5f 7a 4e 41 66 65 70 20 3d 20 63  orts._zNAfep = c
20f0: 72 65 67 65 78 2e 5f 7a 4e 41 66 65 70 3b 0a 20  regex._zNAfep;. 
2100: 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 4e 41 6d     exports._zNAm
2110: 70 69 20 3d 20 63 72 65 67 65 78 2e 5f 7a 4e 41  pi = cregex._zNA
2120: 6d 70 69 3b 0a 20 20 20 20 65 78 70 6f 72 74 73  mpi;.    exports
2130: 2e 5f 7a 4e 41 66 70 69 20 3d 20 63 72 65 67 65  ._zNAfpi = crege
2140: 78 2e 5f 7a 4e 41 66 70 69 3b 0a 20 20 20 20 65  x._zNAfpi;.    e
2150: 78 70 6f 72 74 73 2e 5f 7a 4e 41 65 70 69 20 3d  xports._zNAepi =
2160: 20 63 72 65 67 65 78 2e 5f 7a 4e 41 65 70 69 3b   cregex._zNAepi;
2170: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 4e  .    exports._zN
2180: 41 6d 65 70 69 20 3d 20 63 72 65 67 65 78 2e 5f  Amepi = cregex._
2190: 7a 4e 41 6d 65 70 69 3b 0a 20 20 20 20 65 78 70  zNAmepi;.    exp
21a0: 6f 72 74 73 2e 5f 7a 4e 41 66 65 70 69 20 3d 20  orts._zNAfepi = 
21b0: 63 72 65 67 65 78 2e 5f 7a 4e 41 66 65 70 69 3b  cregex._zNAfepi;
21c0: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 41  .    exports._zA
21d0: 44 20 3d 20 63 72 65 67 65 78 2e 5f 7a 41 44 3b  D = cregex._zAD;
21e0: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f 7a 56  .    exports._zV
21f0: 63 6f 6e 6a 20 3d 20 63 72 65 67 65 78 2e 5f 7a  conj = cregex._z
2200: 56 63 6f 6e 6a 3b 0a 20 20 20 20 65 78 70 6f 72  Vconj;.    expor
2210: 74 73 2e 5f 7a 56 63 6f 6e 6a 31 32 33 20 3d 20  ts._zVconj123 = 
2220: 63 72 65 67 65 78 2e 5f 7a 56 63 6f 6e 6a 31 32  cregex._zVconj12
2230: 33 3b 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f  3;.    exports._
2240: 7a 4e 56 63 6f 6e 6a 20 3d 20 63 72 65 67 65 78  zNVconj = cregex
2250: 2e 5f 7a 4e 56 63 6f 6e 6a 3b 0a 20 20 20 20 65  ._zNVconj;.    e
2260: 78 70 6f 72 74 73 2e 5f 7a 4e 41 56 63 6f 6e 6a  xports._zNAVconj
2270: 20 3d 20 63 72 65 67 65 78 2e 5f 7a 4e 41 56 63   = cregex._zNAVc
2280: 6f 6e 6a 3b 0a 20 20 20 20 65 78 70 6f 72 74 73  onj;.    exports
2290: 2e 5f 7a 4e 6e 6f 74 41 20 3d 20 63 72 65 67 65  ._zNnotA = crege
22a0: 78 2e 5f 7a 4e 6e 6f 74 41 3b 0a 20 20 20 20 65  x._zNnotA;.    e
22b0: 78 70 6f 72 74 73 2e 5f 7a 50 4e 6e 6f 74 41 20  xports._zPNnotA 
22c0: 3d 20 63 72 65 67 65 78 2e 5f 7a 50 4e 6e 6f 74  = cregex._zPNnot
22d0: 41 3b 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f  A;.    exports._
22e0: 7a 4e 50 20 3d 20 63 72 65 67 65 78 2e 5f 7a 4e  zNP = cregex._zN
22f0: 50 3b 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 5f  P;.    exports._
2300: 7a 4e 50 6d 20 3d 20 63 72 65 67 65 78 2e 5f 7a  zNPm = cregex._z
2310: 4e 50 6d 3b 0a 20 20 20 20 65 78 70 6f 72 74 73  NPm;.    exports
2320: 2e 5f 7a 4e 50 66 20 3d 20 63 72 65 67 65 78 2e  ._zNPf = cregex.
2330: 5f 7a 4e 50 66 3b 0a 20 20 20 20 65 78 70 6f 72  _zNPf;.    expor
2340: 74 73 2e 5f 7a 4e 50 65 20 3d 20 63 72 65 67 65  ts._zNPe = crege
2350: 78 2e 5f 7a 4e 50 65 3b 0a 20 20 20 20 65 78 70  x._zNPe;.    exp
2360: 6f 72 74 73 2e 67 65 74 4c 65 6d 6d 61 4f 66 4d  orts.getLemmaOfM
2370: 6f 72 70 68 20 3d 20 63 72 65 67 65 78 2e 67 65  orph = cregex.ge
2380: 74 4c 65 6d 6d 61 4f 66 4d 6f 72 70 68 3b 0a 20  tLemmaOfMorph;. 
2390: 20 20 20 65 78 70 6f 72 74 73 2e 63 68 65 63 6b     exports.check
23a0: 41 67 72 65 65 6d 65 6e 74 20 3d 20 63 72 65 67  Agreement = creg
23b0: 65 78 2e 63 68 65 63 6b 41 67 72 65 65 6d 65 6e  ex.checkAgreemen
23c0: 74 3b 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 63  t;.    exports.c
23d0: 68 65 63 6b 43 6f 6e 6a 56 65 72 62 20 3d 20 63  heckConjVerb = c
23e0: 72 65 67 65 78 2e 63 68 65 63 6b 43 6f 6e 6a 56  regex.checkConjV
23f0: 65 72 62 3b 0a 20 20 20 20 65 78 70 6f 72 74 73  erb;.    exports
2400: 2e 67 65 74 47 65 6e 64 65 72 20 3d 20 63 72 65  .getGender = cre
2410: 67 65 78 2e 67 65 74 47 65 6e 64 65 72 3b 0a 20  gex.getGender;. 
2420: 20 20 20 65 78 70 6f 72 74 73 2e 67 65 74 4e 75     exports.getNu
2430: 6d 62 65 72 20 3d 20 63 72 65 67 65 78 2e 67 65  mber = cregex.ge
2440: 74 4e 75 6d 62 65 72 3b 0a 20 20 20 20 65 78 70  tNumber;.    exp
2450: 6f 72 74 73 2e 69 73 4e 6f 6d 20 3d 20 63 72 65  orts.isNom = cre
2460: 67 65 78 2e 69 73 4e 6f 6d 3b 0a 20 20 20 20 65  gex.isNom;.    e
2470: 78 70 6f 72 74 73 2e 69 73 4e 6f 6d 4e 6f 74 41  xports.isNomNotA
2480: 64 6a 20 3d 20 63 72 65 67 65 78 2e 69 73 4e 6f  dj = cregex.isNo
2490: 6d 4e 6f 74 41 64 6a 3b 0a 20 20 20 20 65 78 70  mNotAdj;.    exp
24a0: 6f 72 74 73 2e 69 73 41 64 6a 20 3d 20 63 72 65  orts.isAdj = cre
24b0: 67 65 78 2e 69 73 41 64 6a 3b 0a 20 20 20 20 65  gex.isAdj;.    e
24c0: 78 70 6f 72 74 73 2e 69 73 4e 6f 6d 41 64 6a 20  xports.isNomAdj 
24d0: 3d 20 63 72 65 67 65 78 2e 69 73 4e 6f 6d 41 64  = cregex.isNomAd
24e0: 6a 3b 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 69  j;.    exports.i
24f0: 73 4e 6f 6d 56 63 6f 6e 6a 20 3d 20 63 72 65 67  sNomVconj = creg
2500: 65 78 2e 69 73 4e 6f 6d 56 63 6f 6e 6a 3b 0a 20  ex.isNomVconj;. 
2510: 20 20 20 65 78 70 6f 72 74 73 2e 69 73 49 6e 76     exports.isInv
2520: 20 3d 20 63 72 65 67 65 78 2e 69 73 49 6e 76 3b   = cregex.isInv;
2530: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 69 73 53  .    exports.isS
2540: 67 20 3d 20 63 72 65 67 65 78 2e 69 73 53 67 3b  g = cregex.isSg;
2550: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 69 73 50  .    exports.isP
2560: 6c 20 3d 20 63 72 65 67 65 78 2e 69 73 50 6c 3b  l = cregex.isPl;
2570: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 69 73 45  .    exports.isE
2580: 70 69 20 3d 20 63 72 65 67 65 78 2e 69 73 45 70  pi = cregex.isEp
2590: 69 3b 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 69  i;.    exports.i
25a0: 73 4d 61 73 20 3d 20 63 72 65 67 65 78 2e 69 73  sMas = cregex.is
25b0: 4d 61 73 3b 0a 20 20 20 20 65 78 70 6f 72 74 73  Mas;.    exports
25c0: 2e 69 73 46 65 6d 20 3d 20 63 72 65 67 65 78 2e  .isFem = cregex.
25d0: 69 73 46 65 6d 3b 0a 20 20 20 20 65 78 70 6f 72  isFem;.    expor
25e0: 74 73 2e 6d 62 4e 6f 6d 20 3d 20 63 72 65 67 65  ts.mbNom = crege
25f0: 78 2e 6d 62 4e 6f 6d 3b 0a 20 20 20 20 65 78 70  x.mbNom;.    exp
2600: 6f 72 74 73 2e 6d 62 41 64 6a 20 3d 20 63 72 65  orts.mbAdj = cre
2610: 67 65 78 2e 6d 62 41 64 6a 3b 0a 20 20 20 20 65  gex.mbAdj;.    e
2620: 78 70 6f 72 74 73 2e 6d 62 41 64 6a 4e 62 20 3d  xports.mbAdjNb =
2630: 20 63 72 65 67 65 78 2e 6d 62 41 64 6a 4e 62 3b   cregex.mbAdjNb;
2640: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 6d 62 4e  .    exports.mbN
2650: 6f 6d 41 64 6a 20 3d 20 63 72 65 67 65 78 2e 6d  omAdj = cregex.m
2660: 62 4e 6f 6d 41 64 6a 3b 0a 20 20 20 20 65 78 70  bNomAdj;.    exp
2670: 6f 72 74 73 2e 6d 62 4e 6f 6d 4e 6f 74 41 64 6a  orts.mbNomNotAdj
2680: 20 3d 20 63 72 65 67 65 78 2e 6d 62 4e 6f 6d 4e   = cregex.mbNomN
2690: 6f 74 41 64 6a 3b 0a 20 20 20 20 65 78 70 6f 72  otAdj;.    expor
26a0: 74 73 2e 6d 62 50 70 61 73 4e 6f 6d 4e 6f 74 41  ts.mbPpasNomNotA
26b0: 64 6a 20 3d 20 63 72 65 67 65 78 2e 6d 62 50 70  dj = cregex.mbPp
26c0: 61 73 4e 6f 6d 4e 6f 74 41 64 6a 3b 0a 20 20 20  asNomNotAdj;.   
26d0: 20 65 78 70 6f 72 74 73 2e 6d 62 56 63 6f 6e 6a   exports.mbVconj
26e0: 20 3d 20 63 72 65 67 65 78 2e 6d 62 56 63 6f 6e   = cregex.mbVcon
26f0: 6a 3b 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 6d  j;.    exports.m
2700: 62 56 63 6f 6e 6a 31 32 33 20 3d 20 63 72 65 67  bVconj123 = creg
2710: 65 78 2e 6d 62 56 63 6f 6e 6a 31 32 33 3b 0a 20  ex.mbVconj123;. 
2720: 20 20 20 65 78 70 6f 72 74 73 2e 6d 62 4d 47 20     exports.mbMG 
2730: 3d 20 63 72 65 67 65 78 2e 6d 62 4d 47 3b 0a 20  = cregex.mbMG;. 
2740: 20 20 20 65 78 70 6f 72 74 73 2e 6d 62 49 6e 76     exports.mbInv
2750: 20 3d 20 63 72 65 67 65 78 2e 6d 62 49 6e 76 3b   = cregex.mbInv;
2760: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 6d 62 53  .    exports.mbS
2770: 67 20 3d 20 63 72 65 67 65 78 2e 6d 62 53 67 3b  g = cregex.mbSg;
2780: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 6d 62 50  .    exports.mbP
2790: 6c 20 3d 20 63 72 65 67 65 78 2e 6d 62 50 6c 3b  l = cregex.mbPl;
27a0: 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 6d 62 45  .    exports.mbE
27b0: 70 69 20 3d 20 63 72 65 67 65 78 2e 6d 62 45 70  pi = cregex.mbEp
27c0: 69 3b 0a 20 20 20 20 65 78 70 6f 72 74 73 2e 6d  i;.    exports.m
27d0: 62 4d 61 73 20 3d 20 63 72 65 67 65 78 2e 6d 62  bMas = cregex.mb
27e0: 4d 61 73 3b 0a 20 20 20 20 65 78 70 6f 72 74 73  Mas;.    exports
27f0: 2e 6d 62 46 65 6d 20 3d 20 63 72 65 67 65 78 2e  .mbFem = cregex.
2800: 6d 62 46 65 6d 3b 0a 20 20 20 20 65 78 70 6f 72  mbFem;.    expor
2810: 74 73 2e 6d 62 4e 70 72 20 3d 20 63 72 65 67 65  ts.mbNpr = crege
2820: 78 2e 6d 62 4e 70 72 3b 0a 20 20 20 20 65 78 70  x.mbNpr;.    exp
2830: 6f 72 74 73 2e 6d 62 4e 70 72 4d 61 73 4e 6f 74  orts.mbNprMasNot
2840: 46 65 6d 20 3d 20 63 72 65 67 65 78 2e 6d 62 4e  Fem = cregex.mbN
2850: 70 72 4d 61 73 4e 6f 74 46 65 6d 3b 0a 7d 0a     prMasNotFem;.}.