Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
22efab81
Commit
22efab81
authored
Jul 09, 2014
by
Alexander Makarov
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #4236 from thiagotalma/inputmask
Upgrade jquery.inputmask to v3.0.52
parents
374b98e2
3df855f9
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
103 additions
and
100 deletions
+103
-100
jquery.inputmask.bundle.min.js
framework/assets/jquery.inputmask.bundle.min.js
+103
-100
No files found.
framework/assets/jquery.inputmask.bundle.min.js
View file @
22efab81
...
@@ -3,108 +3,111 @@
...
@@ -3,108 +3,111 @@
http://github.com/RobinHerbots/jquery.inputmask
http://github.com/RobinHerbots/jquery.inputmask
Copyright (c) 2010 - 2014 Robin Herbots
Copyright (c) 2010 - 2014 Robin Herbots
Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
Version: 3.0.
40
Version: 3.0.
52
Input Mask plugin for jquery
Input Mask plugin for jquery
http://github.com/RobinHerbots/jquery.inputmask
http://github.com/RobinHerbots/jquery.inputmask
Copyright (c) 2010 - 2014 Robin Herbots
Copyright (c) 2010 - 2014 Robin Herbots
Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
Version: 3.0.
40
Version: 3.0.
52
*/
*/
(
function
(
d
){
if
(
void
0
===
d
.
fn
.
inputmask
){
var
a
=
function
(
a
){
var
d
=
document
.
createElement
(
"input"
);
a
=
"on"
+
a
;
var
c
=
a
in
d
;
c
||
(
d
.
setAttribute
(
a
,
"return;"
),
c
=
"function"
==
typeof
d
[
a
]);
return
c
},
c
=
function
(
a
,
n
,
f
){
return
(
a
=
f
.
aliases
[
a
])?(
a
.
alias
&&
c
(
a
.
alias
,
void
0
,
f
),
d
.
extend
(
!
0
,
f
,
a
),
d
.
extend
(
!
0
,
f
,
n
),
!
0
):
!
1
},
g
=
function
(
a
){
function
c
(
d
){
function
f
(
a
,
d
,
c
,
n
){
this
.
matches
=
[];
this
.
isGroup
=
a
||!
1
;
this
.
isOptional
=
d
||!
1
;
this
.
isQuantifier
=
c
||!
1
;
this
.
isAlternator
=
n
||!
1
;
this
.
quantifier
=
{
min
:
1
,
max
:
1
}}
function
n
(
d
,
c
,
f
){
var
b
=
(
function
(
e
){
if
(
void
0
===
e
.
fn
.
inputmask
){
var
a
=
function
(
a
){
var
b
=
document
.
createElement
(
"input"
);
a
=
"on"
+
a
;
var
e
=
a
in
b
;
e
||
(
b
.
setAttribute
(
a
,
"return;"
),
e
=
"function"
==
typeof
b
[
a
]);
return
e
},
b
=
function
(
a
,
p
,
f
){
return
(
a
=
f
.
aliases
[
a
])?(
a
.
alias
&&
b
(
a
.
alias
,
void
0
,
f
),
e
.
extend
(
!
0
,
f
,
a
),
e
.
extend
(
!
0
,
f
,
p
),
!
0
):
!
1
},
c
=
function
(
a
){
function
b
(
e
){
function
f
(
a
,
b
,
e
,
c
){
this
.
matches
=
[];
this
.
isGroup
=
a
||!
1
;
this
.
isOptional
=
b
||!
1
;
this
.
isQuantifier
=
e
||!
1
;
this
.
isAlternator
=
c
||!
1
;
this
.
quantifier
=
{
min
:
1
,
max
:
1
}}
function
c
(
b
,
e
,
f
){
var
d
=
a
.
definitions
[
c
],
h
=
0
==
d
.
matches
.
length
;
f
=
void
0
!=
f
?
f
:
d
.
matches
.
length
;
if
(
b
&&!
g
){
for
(
var
e
=
b
.
prevalidator
,
p
=
e
?
e
.
length
:
0
,
q
=
1
;
q
<
b
.
cardinality
;
q
++
){
var
s
=
p
>=
q
?
e
[
q
-
1
]:[],
l
=
s
.
validator
,
s
=
s
.
cardinality
;
d
.
matches
.
splice
(
f
++
,
0
,{
fn
:
l
?
"string"
==
typeof
l
?
RegExp
(
l
):
new
function
(){
this
.
test
=
l
}:
/./
,
cardinality
:
s
?
s
:
1
,
optionality
:
d
.
isOptional
,
newBlockMarker
:
h
,
casing
:
b
.
casing
,
def
:
b
.
definitionSymbol
||
c
})}
d
.
matches
.
splice
(
f
++
,
0
,{
fn
:
b
.
validator
?
"string"
==
typeof
b
.
validator
?
RegExp
(
b
.
validator
):
new
function
(){
this
.
test
=
a
.
definitions
[
e
],
p
=
0
==
b
.
matches
.
length
;
f
=
void
0
!=
f
?
f
:
b
.
matches
.
length
;
if
(
d
&&!
g
){
for
(
var
m
=
d
.
prevalidator
,
h
=
m
?
m
.
length
:
0
,
t
=
1
;
t
<
d
.
cardinality
;
t
++
){
var
l
=
h
>=
t
?
m
[
t
-
1
]:[],
J
=
l
.
validator
,
l
=
l
.
cardinality
;
b
.
matches
.
splice
(
f
++
,
0
,{
fn
:
J
?
"string"
==
typeof
J
?
RegExp
(
J
):
new
function
(){
this
.
test
=
J
}:
/./
,
cardinality
:
l
?
l
:
1
,
optionality
:
b
.
isOptional
,
newBlockMarker
:
p
,
casing
:
d
.
casing
,
def
:
d
.
definitionSymbol
||
e
,
placeholder
:
d
.
placeholder
})}
b
.
matches
.
splice
(
f
++
,
0
,{
fn
:
d
.
validator
?
"string"
==
typeof
d
.
validator
?
RegExp
(
d
.
validator
):
b
.
validator
}:
/./
,
cardinality
:
b
.
cardinality
,
optionality
:
d
.
isOptional
,
newBlockMarker
:
h
,
casing
:
b
.
casing
,
def
:
b
.
definitionSymbol
||
c
})}
else
d
.
matches
.
splice
(
f
++
,
0
,{
fn
:
null
,
cardinality
:
0
,
optionality
:
d
.
isOptional
,
newBlockMarker
:
h
,
casing
:
null
,
def
:
c
}),
g
=!
1
}
for
(
var
b
=
/
(?:[
?*+
]
|
\{[
0-9
\+\*]
+
(?:
,
[
0-9
\+\*]
*
)?\})\??
|
[^
.?*+^${[
]()
|
\\
]+|./g
,
g
=!
1
,
h
=
new
f
,
e
,
s
=
[],
u
=
[];
e
=
b
.
exec
(
d
);)
switch
(
e
=
e
[
0
],
e
.
charAt
(
0
)){
case
a
.
optionalmarker
.
end
:
case
a
.
groupmarker
.
end
:
var
l
=
s
.
pop
();
0
<
s
.
length
?
s
[
s
.
length
-
1
].
matches
.
push
(
l
):
h
.
matches
.
push
(
l
);
new
function
(){
this
.
test
=
d
.
validator
}:
/./
,
cardinality
:
d
.
cardinality
,
optionality
:
b
.
isOptional
,
newBlockMarker
:
p
,
casing
:
d
.
casing
,
def
:
d
.
definitionSymbol
||
e
,
placeholder
:
d
.
placeholder
})}
else
b
.
matches
.
splice
(
f
++
,
0
,{
fn
:
null
,
cardinality
:
0
,
optionality
:
b
.
isOptional
,
newBlockMarker
:
p
,
casing
:
null
,
def
:
e
,
placeholder
:
void
0
}),
g
=!
1
}
for
(
var
p
=
/
(?:[
?*+
]
|
\{[
0-9
\+\*]
+
(?:
,
[
0-9
\+\*]
*
)?\})\??
|
[^
.?*+^${[
]()
|
\\
]+|./g
,
g
=!
1
,
d
=
new
f
,
h
,
l
=
[],
n
=
[];
h
=
p
.
exec
(
e
);)
switch
(
h
=
h
[
0
],
h
.
charAt
(
0
)){
case
a
.
optionalmarker
.
end
:
case
a
.
groupmarker
.
end
:
var
q
=
break
;
case
a
.
optionalmarker
.
start
:
s
.
push
(
new
f
(
!
1
,
!
0
));
break
;
case
a
.
groupmarker
.
start
:
s
.
push
(
new
f
(
!
0
));
break
;
case
a
.
quantifiermarker
.
start
:
l
=
new
f
(
!
1
,
!
1
,
!
0
);
e
=
e
.
replace
(
/
[
{}
]
/g
,
""
);
var
t
=
e
.
split
(
","
);
e
=
isNaN
(
t
[
0
])?
t
[
0
]:
parseInt
(
t
[
0
]);
t
=
1
==
t
.
length
?
e
:
isNaN
(
t
[
1
])?
t
[
1
]:
parseInt
(
t
[
1
]);
if
(
"*"
==
t
||
"+"
==
t
)
e
=
"*"
==
t
?
0
:
1
;
l
.
quantifier
=
{
min
:
e
,
max
:
t
};
if
(
0
<
s
.
length
){
t
=
s
[
s
.
length
-
1
].
matches
;
e
=
t
.
pop
();
if
(
!
e
.
isGroup
){
var
v
=
new
f
(
!
0
);
v
.
matches
.
push
(
e
);
e
=
v
}
t
.
push
(
e
);
t
.
push
(
l
)}
else
e
=
h
.
matches
.
pop
(),
e
.
isGroup
||
(
v
=
new
f
(
!
0
),
l
.
pop
();
0
<
l
.
length
?
l
[
l
.
length
-
1
].
matches
.
push
(
q
):
d
.
matches
.
push
(
q
);
break
;
case
a
.
optionalmarker
.
start
:
l
.
push
(
new
f
(
!
1
,
!
0
));
break
;
case
a
.
groupmarker
.
start
:
l
.
push
(
new
f
(
!
0
));
break
;
case
a
.
quantifiermarker
.
start
:
q
=
new
f
(
!
1
,
!
1
,
!
0
);
h
=
h
.
replace
(
/
[
{}
]
/g
,
""
);
var
r
=
h
.
split
(
","
);
h
=
isNaN
(
r
[
0
])?
r
[
0
]:
parseInt
(
r
[
0
]);
r
=
1
==
r
.
length
?
h
:
isNaN
(
r
[
1
])?
r
[
1
]:
parseInt
(
r
[
1
]);
if
(
"*"
==
r
||
"+"
==
r
)
h
=
"*"
==
r
?
0
:
1
;
q
.
quantifier
=
{
min
:
h
,
max
:
r
};
if
(
0
<
l
.
length
){
r
=
l
[
l
.
length
-
1
].
matches
;
h
=
r
.
pop
();
if
(
!
h
.
isGroup
){
var
u
=
new
f
(
!
0
);
u
.
matches
.
push
(
h
);
v
.
matches
.
push
(
e
),
e
=
v
),
h
.
matches
.
push
(
e
),
h
.
matches
.
push
(
l
);
break
;
case
a
.
escapeChar
:
g
=!
0
;
break
;
case
a
.
alternatormarker
:
break
;
default
:
0
<
s
.
length
?
n
(
s
[
s
.
length
-
1
],
e
):(
0
<
h
.
matches
.
length
&&
(
l
=
h
.
matches
[
h
.
matches
.
length
-
1
],
l
.
isGroup
&&
(
l
.
isGroup
=!
1
,
n
(
l
,
a
.
groupmarker
.
start
,
0
),
n
(
l
,
a
.
groupmarker
.
end
))),
n
(
h
,
e
))}
0
<
h
.
matches
.
length
&&
(
l
=
h
.
matches
[
h
.
matches
.
length
-
1
],
l
.
isGroup
&&
(
l
.
isGroup
=!
1
,
n
(
l
,
a
.
groupmarker
.
start
,
0
),
n
(
l
,
a
.
groupmarker
.
end
)),
u
.
push
(
h
));
return
u
}
function
f
(
f
,
b
){
if
(
a
.
numericInput
&&!
0
!==
a
.
multi
){
f
=
h
=
u
}
r
.
push
(
h
);
r
.
push
(
q
)}
else
h
=
d
.
matches
.
pop
(),
h
.
isGroup
||
(
u
=
new
f
(
!
0
),
u
.
matches
.
push
(
h
),
h
=
u
),
d
.
matches
.
push
(
h
),
d
.
matches
.
push
(
q
);
break
;
case
a
.
escapeChar
:
g
=!
0
;
break
;
case
a
.
alternatormarker
:
break
;
default
:
0
<
l
.
length
?
c
(
l
[
l
.
length
-
1
],
h
):(
0
<
d
.
matches
.
length
&&
(
q
=
d
.
matches
[
d
.
matches
.
length
-
1
],
q
.
isGroup
&&
(
q
.
isGroup
=!
1
,
c
(
q
,
a
.
groupmarker
.
start
,
0
),
c
(
q
,
a
.
groupmarker
.
end
))),
c
(
d
,
h
))}
0
<
d
.
matches
.
length
&&
(
q
=
d
.
matches
[
d
.
matches
.
length
-
1
],
q
.
isGroup
&&
(
q
.
isGroup
=!
1
,
c
(
q
,
a
.
groupmarker
.
start
,
0
),
c
(
q
,
a
.
groupmarker
.
end
)),
f
.
split
(
""
).
reverse
();
for
(
var
g
=
0
;
g
<
f
.
length
;
g
++
)
f
[
g
]
==
a
.
optionalmarker
.
start
?
f
[
g
]
=
a
.
optionalmarker
.
end
:
f
[
g
]
==
a
.
optionalmarker
.
end
?
f
[
g
]
=
a
.
optionalmarker
.
start
:
f
[
g
]
==
a
.
groupmarker
.
start
?
f
[
g
]
=
a
.
groupmarker
.
end
:
f
[
g
]
==
a
.
groupmarker
.
end
&&
(
f
[
g
]
=
a
.
groupmarker
.
start
);
f
=
f
.
join
(
""
)}
if
(
void
0
!=
f
&&
""
!=
f
){
if
(
0
<
a
.
repeat
||
"*"
==
a
.
repeat
||
"+"
==
a
.
repeat
)
f
=
a
.
groupmarker
.
start
+
f
+
a
.
groupmarker
.
end
+
a
.
quantifiermarker
.
start
+
(
"*"
==
a
.
repeat
?
0
:
"+"
==
a
.
repeat
?
1
:
a
.
repeat
)
+
","
+
a
.
repeat
+
a
.
quantifiermarker
.
end
;
void
0
==
d
.
inputmask
.
masksCache
[
f
]
&&
n
.
push
(
d
));
return
n
}
function
f
(
f
,
d
){
if
(
a
.
numericInput
&&!
0
!==
a
.
multi
){
f
=
f
.
split
(
""
).
reverse
();
for
(
var
c
=
0
;
c
<
f
.
length
;
c
++
)
f
[
c
]
==
a
.
optionalmarker
.
start
?
f
[
c
]
=
a
.
optionalmarker
.
end
:
f
[
c
]
==
a
.
optionalmarker
.
end
?
f
[
c
]
=
a
.
optionalmarker
.
start
:
f
[
c
]
==
a
.
groupmarker
.
start
?
f
[
c
]
=
a
.
groupmarker
.
end
:
f
[
c
]
==
a
.
groupmarker
.
end
&&
(
f
[
c
]
=
a
.
groupmarker
.
start
);
f
=
f
.
join
(
""
)}
if
(
void
0
!=
f
&&
""
!=
f
){
if
(
0
<
a
.
repeat
||
"*"
==
a
.
repeat
||
"+"
==
a
.
repeat
)
f
=
a
.
groupmarker
.
start
+
f
+
a
.
groupmarker
.
end
+
a
.
quantifiermarker
.
start
+
(
"*"
==
a
.
repeat
?
0
:
"+"
==
a
.
repeat
?
(
d
.
inputmask
.
masksCache
[
f
]
=
{
mask
:
f
,
maskToken
:
c
(
f
),
validPositions
:{},
_buffer
:
void
0
,
buffer
:
void
0
,
tests
:{},
metadata
:
b
});
return
d
.
extend
(
!
0
,{},
d
.
inputmask
.
masksCache
[
f
])}}
var
b
=
[];
d
.
isFunction
(
a
.
mask
)
&&
(
a
.
mask
=
a
.
mask
.
call
(
this
,
a
));
d
.
isArray
(
a
.
mask
)?
d
.
each
(
a
.
mask
,
function
(
a
,
d
){
void
0
!=
d
.
mask
?
b
.
push
(
f
(
d
.
mask
.
toString
(),
d
)):
b
.
push
(
f
(
d
.
toString
()))}):(
1
==
a
.
mask
.
length
&&!
1
==
a
.
greedy
&&
0
!=
a
.
repeat
&&
(
a
.
placeholder
=
""
),
b
=
void
0
!=
a
.
mask
.
mask
?
f
(
a
.
mask
.
mask
.
toString
(),
a
.
mask
):
f
(
a
.
mask
.
toString
()));
return
b
},
h
=
1
:
a
.
repeat
)
+
","
+
a
.
repeat
+
a
.
quantifiermarker
.
end
;
void
0
==
e
.
inputmask
.
masksCache
[
f
]
&&
(
e
.
inputmask
.
masksCache
[
f
]
=
{
mask
:
f
,
maskToken
:
b
(
f
),
validPositions
:{},
_buffer
:
void
0
,
buffer
:
void
0
,
tests
:{},
metadata
:
d
});
return
e
.
extend
(
!
0
,{},
e
.
inputmask
.
masksCache
[
f
])}}
var
c
=
[];
e
.
isFunction
(
a
.
mask
)
&&
(
a
.
mask
=
a
.
mask
.
call
(
this
,
a
));
e
.
isArray
(
a
.
mask
)?
e
.
each
(
a
.
mask
,
function
(
a
,
b
){
void
0
!=
b
.
mask
?
c
.
push
(
f
(
b
.
mask
.
toString
(),
b
)):
c
.
push
(
f
(
b
.
toString
()))}):(
1
==
a
.
mask
.
length
&&!
1
==
a
.
greedy
&&
0
!=
a
.
repeat
&&
(
a
.
placeholder
=
""
),
c
=
void
0
!=
"function"
===
typeof
ScriptEngineMajorVersion
?
ScriptEngineMajorVersion
():
10
<=
(
new
Function
(
"/*@cc_on return @_jscript_version; @*/"
))(),
b
=
navigator
.
userAgent
,
e
=
null
!==
b
.
match
(
/iphone/i
),
l
=
null
!==
b
.
match
(
/android.*safari.*/i
),
w
=
null
!==
b
.
match
(
/android.*chrome.*/i
),
v
=
null
!==
b
.
match
(
/android.*firefox.*/i
),
G
=
/Kindle/i
.
test
(
b
)
||
/Silk/i
.
test
(
b
)
||
/KFTT/i
.
test
(
b
)
||
/KFOT/i
.
test
(
b
)
||
/KFJWA/i
.
test
(
b
)
||
/KFJWI/i
.
test
(
b
)
||
/KFSOWI/i
.
test
(
b
)
||
/KFTHWA/i
.
test
(
b
)
||
/KFTHWI/i
.
test
(
b
)
||
/KFAPWA/i
.
test
(
b
)
||
/KFAPWI/i
.
test
(
b
),
a
.
mask
.
mask
?
f
(
a
.
mask
.
mask
.
toString
(),
a
.
mask
):
f
(
a
.
mask
.
toString
()));
return
c
},
g
=
"function"
===
typeof
ScriptEngineMajorVersion
?
ScriptEngineMajorVersion
():
10
<=
(
new
Function
(
"/*@cc_on return @_jscript_version; @*/"
))(),
d
=
navigator
.
userAgent
,
h
=
null
!==
d
.
match
(
/iphone/i
),
n
=
null
!==
d
.
match
(
/android.*safari.*/i
),
y
=
null
!==
d
.
match
(
/android.*chrome.*/i
),
u
=
null
!==
d
.
match
(
/android.*firefox.*/i
),
K
=
/Kindle/i
.
test
(
d
)
||
/Silk/i
.
test
(
d
)
||
/KFTT/i
.
test
(
d
)
||
/KFOT/i
.
test
(
d
)
||
/KFJWA/i
.
test
(
d
)
||
/KFJWI/i
.
test
(
d
)
||
/KFSOWI/i
.
test
(
d
)
||
H
=
a
(
"paste"
)?
"paste"
:
a
(
"input"
)?
"input"
:
"propertychange"
,
t
=
function
(
a
,
c
,
f
){
function
b
(
a
,
d
,
g
){
d
=
d
||
0
;
var
h
=
[],
e
,
m
=
0
,
p
;
do
{
if
(
!
0
===
a
&&
c
.
validPositions
[
m
]){
var
k
=
c
.
validPositions
[
m
];
p
=
k
.
match
;
e
=
k
.
locator
.
slice
();
h
.
push
(
null
==
p
.
fn
?
p
.
def
:
!
0
===
g
?
k
.
input
:
f
.
placeholder
.
charAt
(
m
%
f
.
placeholder
.
length
))}
else
e
=
d
>
m
?
Q
(
m
,
e
,
m
-
1
)[
0
]:
q
(
m
,
e
,
m
-
1
),
p
=
e
.
match
,
e
=
e
.
locator
.
slice
(),
h
.
push
(
null
==
p
.
fn
?
p
.
def
:
f
.
placeholder
.
charAt
(
m
%
f
.
placeholder
.
length
));
m
++
}
while
((
void
0
==
I
||
m
-
1
<
I
)
&&
null
!=
p
.
fn
||
null
==
p
.
fn
&&
""
!=
p
.
def
||
d
>=
m
);
h
.
pop
();
/KFTHWA/i
.
test
(
d
)
||
/KFTHWI/i
.
test
(
d
)
||
/KFAPWA/i
.
test
(
d
)
||
/KFAPWI/i
.
test
(
d
),
L
=
a
(
"paste"
)?
"paste"
:
a
(
"input"
)?
"input"
:
"propertychange"
,
r
=
function
(
a
,
b
,
f
){
function
c
(
a
,
e
,
d
){
e
=
e
||
0
;
var
g
=
[],
m
,
v
=
0
,
h
;
do
{
if
(
!
0
===
a
&&
b
.
validPositions
[
v
]){
var
t
=
b
.
validPositions
[
v
];
h
=
t
.
match
;
m
=
t
.
locator
.
slice
();
g
.
push
(
null
==
h
.
fn
?
h
.
def
:
!
0
===
d
?
t
.
input
:
h
.
placeholder
||
f
.
placeholder
.
charAt
(
v
%
f
.
placeholder
.
length
))}
else
m
=
e
>
v
?
O
(
v
,
m
,
v
-
1
)[
0
]:
F
(
v
,
m
,
v
-
1
),
h
=
m
.
match
,
m
=
m
.
locator
.
slice
(),
g
.
push
(
null
==
h
.
fn
?
h
.
def
:
h
.
placeholder
||
f
.
placeholder
.
charAt
(
v
%
return
h
}
function
g
(
a
){
var
d
=
c
;
d
.
buffer
=
void
0
;
d
.
tests
=
{};
!
0
!==
a
&&
(
d
.
_buffer
=
void
0
,
d
.
validPositions
=
{},
d
.
p
=-
1
)}
function
t
(
a
){
var
g
=
c
,
b
=-
1
,
h
=
g
.
validPositions
;
if
(
d
.
isFunction
(
f
.
getLastValidPosition
))
b
=
f
.
getLastValidPosition
.
call
(
r
,
g
,
a
,
f
);
else
{
void
0
==
a
&&
(
a
=-
1
);
var
g
=
b
,
e
;
for
(
e
in
h
){
var
m
=
parseInt
(
e
);
if
(
-
1
==
a
||
null
!=
h
[
m
].
match
.
fn
)
m
<
a
&&
(
g
=
m
),
m
>=
a
&&
(
b
=
m
)}
b
=
1
<
a
-
g
||
b
<
a
?
g
:
b
}
return
b
}
function
p
(
a
,
b
,
g
){
if
(
f
.
insertMode
&&
void
0
!=
c
.
validPositions
[
a
]
&&
void
0
==
g
){
g
=
d
.
extend
(
!
0
,{},
c
.
validPositions
);
var
h
=
t
(),
e
;
f
.
placeholder
.
length
));
v
++
}
while
((
void
0
==
M
||
v
-
1
<
M
)
&&
null
!=
h
.
fn
||
null
==
h
.
fn
&&
""
!=
h
.
def
||
e
>=
v
);
g
.
pop
();
return
g
}
function
d
(
a
){
var
e
=
b
;
e
.
buffer
=
void
0
;
e
.
tests
=
{};
!
0
!==
a
&&
(
e
.
_buffer
=
void
0
,
e
.
validPositions
=
{},
e
.
p
=-
1
)}
function
r
(
a
){
var
e
=-
1
,
f
=
b
.
validPositions
;
void
0
==
a
&&
(
a
=-
1
);
var
d
=
e
,
c
;
for
(
c
in
f
){
var
g
=
parseInt
(
c
);
if
(
-
1
==
a
||
null
!=
f
[
g
].
match
.
fn
)
g
<
a
&&
(
d
=
g
),
g
>=
a
&&
(
e
=
g
)}
return
1
<
a
-
d
||
e
<
a
?
d
:
e
}
function
m
(
a
,
d
,
c
){
if
(
f
.
insertMode
&&
void
0
!=
b
.
validPositions
[
a
]
&&
void
0
==
c
){
c
=
e
.
extend
(
!
0
,{},
b
.
validPositions
);
var
g
=
for
(
e
=
a
;
e
<=
h
;
e
++
)
delete
c
.
validPositions
[
e
];
c
.
validPositions
[
a
]
=
b
;
b
=!
0
;
for
(
e
=
a
;
e
<=
h
;
e
++
){
a
=
g
[
e
];
if
(
void
0
!=
a
){
var
m
=
null
==
a
.
match
.
fn
?
e
+
1
:
B
(
e
);
b
=
J
(
m
,
a
.
match
.
def
)?
b
&&!
1
!==
O
(
m
,
a
.
input
,
!
0
,
!
0
):
!
1
}
if
(
!
b
)
break
}
if
(
!
b
)
return
c
.
validPositions
=
d
.
extend
(
!
0
,{},
g
),
!
1
}
else
c
.
validPositions
[
a
]
=
b
;
return
!
0
}
function
q
(
a
,
c
,
d
){
a
=
Q
(
a
,
c
,
d
);
var
b
;
for
(
c
=
0
;
c
<
a
.
length
&&
(
b
=
a
[
c
],
!
f
.
greedy
&&
(
!
b
.
match
||!
1
!==
b
.
match
.
optionality
&&!
1
!==
b
.
match
.
newBlockMarker
||!
0
===
b
.
match
.
optionalQuantifier
));
c
++
);
return
b
}
function
D
(
a
){
return
c
.
validPositions
[
a
]?
r
(),
h
;
for
(
h
=
a
;
h
<=
g
;
h
++
)
delete
b
.
validPositions
[
h
];
b
.
validPositions
[
a
]
=
d
;
d
=!
0
;
for
(
h
=
a
;
h
<=
g
;
h
++
){
a
=
c
[
h
];
if
(
void
0
!=
a
){
var
v
=
null
==
a
.
match
.
fn
?
h
+
1
:
B
(
h
);
d
=
ea
(
v
,
a
.
match
.
def
)?
d
&&!
1
!==
Q
(
v
,
a
.
input
,
!
0
,
!
0
):
!
1
}
if
(
!
d
)
break
}
if
(
!
d
)
return
b
.
validPositions
=
e
.
extend
(
!
0
,{},
c
),
!
1
}
else
b
.
validPositions
[
a
]
=
d
;
return
!
0
}
function
t
(
a
,
e
){
var
f
,
c
=
a
;
for
(
f
=
a
;
f
<
e
;
f
++
)
delete
b
.
validPositions
[
f
];
for
(
f
=
e
;
f
<=
r
();){
var
g
=
b
.
validPositions
[
f
],
h
=
b
.
validPositions
[
c
];
void
0
!=
g
&&
void
0
==
h
?(
ea
(
c
,
g
.
match
.
def
)
&&!
1
!==
Q
(
c
,
g
.
input
,
!
0
)
&&
(
delete
b
.
validPositions
[
f
],
c
.
validPositions
[
a
].
match
:
Q
(
a
)[
0
].
match
}
function
J
(
a
,
c
){
for
(
var
d
=!
1
,
f
=
Q
(
a
),
b
=
0
;
b
<
f
.
length
;
b
++
)
if
(
f
[
b
].
match
&&
f
[
b
].
match
.
def
==
c
){
d
=!
0
;
break
}
return
d
}
function
Q
(
a
,
b
,
g
){
function
e
(
c
,
b
,
g
,
h
){
function
S
(
g
,
h
,
n
){
if
(
m
==
a
&&
void
0
==
g
.
matches
)
return
p
.
push
({
match
:
g
,
locator
:
h
.
reverse
()}),
!
0
;
if
(
void
0
!=
g
.
matches
)
if
(
g
.
isGroup
&&!
0
!==
n
){
if
(
g
=
S
(
c
.
matches
[
E
+
1
],
h
))
return
!
0
}
else
if
(
g
.
isOptional
){
var
q
=
g
;
if
(
g
=
e
(
g
,
b
,
h
,
n
))
g
=
p
[
p
.
length
-
1
].
match
,(
g
=
0
==
d
.
inArray
(
g
,
q
.
matches
))
&&
(
k
=!
0
),
m
=
a
}
else
{
if
(
!
g
.
isAlternator
)
if
(
g
.
isQuantifier
&&
f
++
),
c
++
):
f
++
}
for
(
f
=
r
();
0
<
f
&&
(
void
0
==
b
.
validPositions
[
f
]
||
null
==
b
.
validPositions
[
f
].
match
.
fn
);)
delete
b
.
validPositions
[
f
],
f
--
;
d
(
!
0
)}
function
F
(
a
,
b
,
e
){
a
=
O
(
a
,
b
,
e
);
var
d
;
for
(
b
=
0
;
b
<
a
.
length
&&
(
d
=
a
[
b
],
!
f
.
greedy
&&
(
!
d
.
match
||!
1
!==
d
.
match
.
optionality
&&!
1
!==
d
.
match
.
newBlockMarker
||!
0
===
d
.
match
.
optionalQuantifier
));
b
++
);
return
d
}
function
w
(
a
){
return
b
.
validPositions
[
a
]?
b
.
validPositions
[
a
].
match
:
O
(
a
)[
0
].
match
}
function
ea
(
a
,
b
){
for
(
var
e
=!
1
,
f
=
O
(
a
),
d
=
0
;
d
<
f
.
length
;
d
++
)
if
(
f
[
d
].
match
&&
f
[
d
].
match
.
def
==
b
){
e
=!
0
;
break
}
return
e
}
!
0
!==
n
)
for
(
q
=
g
,
f
.
greedy
=
f
.
greedy
&&
isFinite
(
q
.
quantifier
.
max
),
n
=
0
<
b
.
length
&&!
0
!==
n
?
b
.
shift
():
0
;
n
<
(
isNaN
(
q
.
quantifier
.
max
)?
n
+
1
:
q
.
quantifier
.
max
)
&&
m
<=
a
;
n
++
){
var
s
=
c
.
matches
[
d
.
inArray
(
q
,
c
.
matches
)
-
1
];
if
(
g
=
S
(
s
,[
n
].
concat
(
h
),
!
0
))
if
(
g
=
p
[
p
.
length
-
1
].
match
,
g
.
optionalQuantifier
=
n
>
q
.
quantifier
.
min
-
1
,
g
=
0
==
d
.
inArray
(
g
,
s
.
matches
))
if
(
n
>
q
.
quantifier
.
min
-
1
){
k
=!
0
;
m
=
a
;
break
}
else
return
!
0
;
else
return
!
0
}
else
if
(
g
=
e
(
g
,
b
,
h
,
n
))
return
!
0
}
else
m
++
}
for
(
var
E
=
0
<
b
.
length
?
b
.
shift
():
0
;
E
<
c
.
matches
.
length
;
E
++
)
if
(
!
0
!==
c
.
matches
[
E
].
isQuantifier
){
var
n
=
function
O
(
a
,
d
,
c
){
function
g
(
b
,
d
,
c
,
H
){
function
h
(
c
,
H
,
p
){
if
(
m
==
a
&&
void
0
==
c
.
matches
)
return
t
.
push
({
match
:
c
,
locator
:
H
.
reverse
()}),
!
0
;
if
(
void
0
!=
c
.
matches
)
if
(
c
.
isGroup
&&!
0
!==
p
){
if
(
c
=
h
(
b
.
matches
[
G
+
1
],
H
))
return
!
0
}
else
if
(
c
.
isOptional
){
var
l
=
c
;
if
(
c
=
g
(
c
,
d
,
H
,
p
))
c
=
t
[
t
.
length
-
1
].
match
,(
c
=
0
==
e
.
inArray
(
c
,
l
.
matches
))
&&
(
k
=!
0
),
m
=
a
}
else
{
if
(
!
c
.
isAlternator
)
if
(
c
.
isQuantifier
&&!
0
!==
p
)
for
(
l
=
c
,
f
.
greedy
=
f
.
greedy
&&
isFinite
(
l
.
quantifier
.
max
),
p
=
0
<
d
.
length
&&!
0
!==
p
?
d
.
shift
():
0
;
p
<
(
isNaN
(
l
.
quantifier
.
max
)?
p
+
1
:
l
.
quantifier
.
max
)
&&
S
(
c
.
matches
[
E
],[
E
].
concat
(
g
),
h
);
if
(
n
&&
m
==
a
)
return
n
;
if
(
m
>
a
)
break
}}
var
h
=
c
.
maskToken
,
m
=
b
?
g
:
0
;
g
=
b
||
[
0
];
var
p
=
[],
k
=!
1
;
if
(
void
0
==
b
){
b
=
a
-
1
;
for
(
var
q
;
void
0
==
(
q
=
c
.
validPositions
[
b
])
&&-
1
<
b
;)
b
--
;
if
(
void
0
!=
q
&&-
1
<
b
)
m
=
b
,
g
=
q
.
locator
.
slice
();
else
{
for
(
b
=
a
-
1
;
void
0
==
(
q
=
c
.
tests
[
b
])
&&-
1
<
b
;)
b
--
;
void
0
!=
q
&&-
1
<
b
&&
(
m
=
b
,
g
=
q
[
0
].
locator
.
slice
())}}
for
(
b
=
g
.
shift
();
b
<
h
.
length
&&!
(
e
(
h
[
b
],
g
,[
b
])
&&
m
==
a
||
m
>
a
);
b
++
);(
0
==
p
.
length
||
k
)
&&
p
.
push
({
match
:{
fn
:
null
,
cardinality
:
0
,
optionality
:
!
0
,
casing
:
null
,
def
:
""
},
locator
:[]});
return
c
.
tests
[
a
]
=
m
<=
a
;
p
++
){
var
fa
=
b
.
matches
[
e
.
inArray
(
l
,
b
.
matches
)
-
1
];
if
(
c
=
h
(
fa
,[
p
].
concat
(
H
),
!
0
))
if
(
c
=
t
[
t
.
length
-
1
].
match
,
c
.
optionalQuantifier
=
p
>
l
.
quantifier
.
min
-
1
,
c
=
0
==
e
.
inArray
(
c
,
fa
.
matches
))
if
(
p
>
l
.
quantifier
.
min
-
1
){
k
=!
0
;
m
=
a
;
break
}
else
return
!
0
;
else
return
!
0
}
else
if
(
c
=
g
(
c
,
d
,
H
,
p
))
return
!
0
}
else
m
++
}
for
(
var
G
=
0
<
d
.
length
?
d
.
shift
():
0
;
G
<
b
.
matches
.
length
;
G
++
)
if
(
!
0
!==
b
.
matches
[
G
].
isQuantifier
){
var
p
=
h
(
b
.
matches
[
G
],[
G
].
concat
(
c
),
H
);
if
(
p
&&
m
==
a
)
return
p
;
if
(
m
>
a
)
break
}}
var
h
=
b
.
maskToken
,
m
=
d
?
c
:
0
;
c
=
d
||
[
0
];
var
t
=
[],
k
=!
1
;
if
(
void
0
==
p
}
function
A
(){
void
0
==
c
.
_buffer
&&
(
c
.
_buffer
=
b
(
!
1
,
1
));
return
c
.
_buffer
}
function
u
(){
void
0
==
c
.
buffer
&&
(
c
.
buffer
=
b
(
!
0
,
t
(),
!
0
));
return
c
.
buffer
}
function
R
(
a
,
c
){
for
(
var
d
=
u
().
slice
(),
b
=
a
;
b
<
c
;
b
++
)
d
[
b
]
!=
f
.
skipOptionalPartCharacter
&&
O
(
b
,
d
[
b
],
!
0
,
!
0
)}
function
ja
(
a
,
c
){
switch
(
c
.
casing
){
case
"upper"
:
a
=
a
.
toUpperCase
();
break
;
case
"lower"
:
a
=
a
.
toLowerCase
()}
return
a
}
function
O
(
a
,
b
,
h
,
e
){
function
q
(
a
,
b
,
ca
,
h
){
var
e
=!
1
;
d
.
each
(
Q
(
a
),
function
(
S
,
E
){
for
(
var
m
=
E
.
match
,
q
=
b
?
1
:
0
,
k
=
""
,
ka
=
u
(),
s
=
m
.
cardinality
;
s
>
q
;
s
--
)
k
+=
void
0
==
d
){
d
=
a
-
1
;
for
(
var
l
;
void
0
==
(
l
=
b
.
validPositions
[
d
])
&&-
1
<
d
;)
d
--
;
if
(
void
0
!=
l
&&-
1
<
d
)
m
=
d
,
c
=
l
.
locator
.
slice
();
else
{
for
(
d
=
a
-
1
;
void
0
==
(
l
=
b
.
tests
[
d
])
&&-
1
<
d
;)
d
--
;
void
0
!=
l
&&-
1
<
d
&&
(
m
=
d
,
c
=
l
[
0
].
locator
.
slice
())}}
for
(
d
=
c
.
shift
();
d
<
h
.
length
&&!
(
g
(
h
[
d
],
c
,[
d
])
&&
m
==
a
||
m
>
a
);
d
++
);(
0
==
t
.
length
||
k
)
&&
t
.
push
({
match
:{
fn
:
null
,
cardinality
:
0
,
optionality
:
!
0
,
casing
:
null
,
def
:
""
},
locator
:[]});
return
b
.
tests
[
a
]
=
t
}
function
C
(){
void
0
==
b
.
_buffer
&&
(
b
.
_buffer
=
c
(
!
1
,
1
));
return
b
.
_buffer
}
function
q
(){
void
0
==
b
.
buffer
&&
(
b
.
buffer
=
c
(
!
0
,
r
(),
c
.
validPositions
[
a
-
(
s
-
1
)]?
V
(
a
-
(
s
-
1
)):
c
.
validPositions
[
a
-
(
s
-
1
)].
input
;
b
&&
(
k
+=
b
);
e
=
null
!=
m
.
fn
?
m
.
fn
.
test
(
k
,
ka
,
a
,
ca
,
f
):
b
!=
m
.
def
&&
b
!=
f
.
skipOptionalPartCharacter
||
""
==
m
.
def
?
!
1
:{
c
:
m
.
def
,
pos
:
a
};
if
(
!
1
!==
e
){
q
=
void
0
!=
e
.
c
?
e
.
c
:
b
;
q
=
q
==
f
.
skipOptionalPartCharacter
&&
null
===
m
.
fn
?
m
.
def
:
q
;
k
=
a
;
if
(
e
.
refreshFromBuffer
){
k
=
e
.
refreshFromBuffer
;
ca
=!
0
;
!
0
===
k
?(
c
.
validPositions
=
{},
c
.
tests
=
{},
R
(
0
,
u
().
length
)):
R
(
k
.
start
,
k
.
end
);
if
(
void
0
==
e
.
pos
&&
void
0
==
e
.
c
)
return
e
.
pos
=
t
(),
!
1
;
k
=
void
0
!=
e
.
pos
?
e
.
pos
:
a
;
if
(
k
!=
a
)
return
e
=
O
(
k
,
q
,
!
0
),
!
0
));
return
b
.
buffer
}
function
Z
(
a
,
e
){
var
c
=
q
().
slice
();
if
(
!
0
===
a
)
d
(),
a
=
0
,
e
=
c
.
length
;
else
for
(
var
g
=
a
;
g
<
e
;
g
++
)
delete
b
.
validPositions
[
g
],
delete
b
.
tests
[
g
];
for
(
g
=
a
;
g
<
e
;
g
++
)
c
[
g
]
!=
f
.
skipOptionalPartCharacter
&&
Q
(
g
,
c
[
g
],
!
0
,
!
0
)}
function
ma
(
a
,
b
){
switch
(
b
.
casing
){
case
"upper"
:
a
=
a
.
toUpperCase
();
break
;
case
"lower"
:
a
=
a
.
toLowerCase
()}
return
a
}
function
Q
(
a
,
c
,
g
,
h
){
function
l
(
a
,
c
,
g
,
na
){
var
h
=!
1
;
e
.
each
(
O
(
a
),
function
(
H
,
G
){
var
k
=
G
.
match
,
v
=
c
?
1
:
0
,
l
=
""
;
q
();
for
(
var
V
=
k
.
cardinality
;
V
>
v
;
V
--
)
l
+=
void
0
==
b
.
validPositions
[
a
-
!
1
}
else
if
(
!
0
!==
e
&&
e
.
pos
!=
a
&&
(
k
=
e
.
pos
,
R
(
a
,
k
),
k
!=
a
))
return
e
=
O
(
k
,
q
,
!
0
),
!
1
;
0
<
S
&&
g
(
!
0
);
p
(
k
,
d
.
extend
({},
E
,{
input
:
ja
(
q
,
m
)}),
h
)
||
(
e
=!
1
);
return
!
1
}});
return
e
}
h
=!
0
===
h
;
if
(
a
>=
M
())
return
!
1
;
var
m
=
q
(
a
,
b
,
h
,
e
);
if
(
!
h
&&!
1
===
m
){
var
k
=
c
.
validPositions
[
a
];
if
(
k
&&
null
==
k
.
match
.
fn
&&
(
k
.
match
.
def
==
b
||
b
==
f
.
skipOptionalPartCharacter
))
m
=
{
caret
:
B
(
a
)};
else
if
((
f
.
insertMode
||
void
0
==
c
.
validPositions
[
B
(
a
)])
&&!
L
(
a
))
for
(
var
k
=
a
+
1
,
s
=
B
(
a
);
k
<=
s
;
k
++
)
if
(
m
=
q
(
k
,
b
,
h
,
e
),
!
1
!==
m
){
a
=
k
;
break
}}
!
0
===
m
&&
(
m
=
{
pos
:
a
});
return
m
}
function
L
(
a
){
a
=
D
(
a
);
(
V
-
1
)]?
U
(
a
-
(
V
-
1
)):
b
.
validPositions
[
a
-
(
V
-
1
)].
input
;
c
&&
(
l
+=
c
);
h
=
null
!=
k
.
fn
?
k
.
fn
.
test
(
l
,
b
,
a
,
g
,
f
):
c
!=
k
.
def
&&
c
!=
f
.
skipOptionalPartCharacter
||
""
==
k
.
def
?
!
1
:{
c
:
k
.
def
,
pos
:
a
};
if
(
!
1
!==
h
){
v
=
void
0
!=
h
.
c
?
h
.
c
:
c
;
v
=
v
==
f
.
skipOptionalPartCharacter
&&
null
===
k
.
fn
?
k
.
def
:
v
;
l
=
a
;
void
0
!=
h
.
remove
&&
t
(
h
.
remove
,
h
.
remove
+
1
);
if
(
h
.
refreshFromBuffer
){
l
=
h
.
refreshFromBuffer
;
g
=!
0
;
Z
(
!
0
===
l
?
l
:
l
.
start
,
l
.
end
);
if
(
void
0
==
h
.
pos
&&
void
0
==
h
.
c
)
return
h
.
pos
=
r
(),
!
1
;
l
=
void
0
!=
h
.
pos
?
h
.
pos
:
a
;
if
(
l
!=
a
)
return
h
=
e
.
extend
(
h
,
Q
(
l
,
v
,
!
0
)),
!
1
}
else
if
(
!
0
!==
return
null
!=
a
.
fn
?
a
.
fn
:
!
1
}
function
M
(){
var
a
;
I
=
r
.
prop
(
"maxLength"
);
-
1
==
I
&&
(
I
=
void
0
);
if
(
!
1
==
f
.
greedy
){
var
b
;
b
=
t
();
a
=
c
.
validPositions
[
b
];
var
d
=
void
0
!=
a
?
a
.
locator
.
slice
():
void
0
;
for
(
b
+=
1
;
void
0
==
a
||
null
!=
a
.
match
.
fn
||
null
==
a
.
match
.
fn
&&
""
!=
a
.
match
.
def
;
b
++
)
a
=
q
(
b
,
d
,
b
-
1
),
d
=
a
.
locator
.
slice
();
a
=
b
}
else
a
=
u
().
length
;
return
void
0
==
I
||
a
<
I
?
a
:
I
}
function
B
(
a
){
var
c
=
M
();
if
(
a
>=
c
)
return
c
;
for
(;
++
a
<
c
&&!
L
(
a
)
&&
(
!
0
!==
f
.
nojumps
||
f
.
nojumpsThreshold
>
a
););
return
a
}
function
U
(
a
){
if
(
0
>=
a
)
return
0
;
for
(;
0
<--
a
&&!
L
(
a
););
return
a
}
h
&&
void
0
!=
h
.
pos
&&
h
.
pos
!=
a
&&
(
l
=
h
.
pos
,
Z
(
a
,
l
),
l
!=
a
))
return
h
=
e
.
extend
(
h
,
Q
(
l
,
v
,
!
0
)),
!
1
;
if
(
!
0
!=
h
&&
void
0
==
h
.
pos
&&
void
0
==
h
.
c
)
return
!
1
;
0
<
H
&&
d
(
!
0
);
m
(
l
,
e
.
extend
({},
G
,{
input
:
ma
(
v
,
k
)}),
na
)
||
(
h
=!
1
);
return
!
1
}});
return
h
}
g
=!
0
===
g
;
for
(
var
v
=
q
(),
k
=
a
-
1
;
-
1
<
k
&&
(
!
b
.
validPositions
[
k
]
||
null
!=
b
.
validPositions
[
k
].
fn
);
k
--
)
if
((
!
N
(
k
)
||
v
[
k
]
!=
U
(
k
))
&&
1
<
O
(
k
).
length
){
l
(
k
,
v
[
k
],
!
0
);
break
}
if
(
a
>=
R
())
return
!
1
;
v
=
l
(
a
,
c
,
g
,
h
);
if
(
!
g
&&!
1
===
v
)
if
((
k
=
b
.
validPositions
[
a
])
&&
null
==
k
.
match
.
fn
&&
(
k
.
match
.
def
==
c
||
c
==
f
.
skipOptionalPartCharacter
))
v
=
function
C
(
a
,
c
,
b
){
a
.
_valueSet
(
c
.
join
(
""
));
void
0
!=
b
&&
x
(
a
,
b
)}
function
V
(
a
,
c
){
c
=
c
||
D
(
a
);
return
null
==
c
.
fn
?
c
.
def
:
f
.
placeholder
.
charAt
(
a
%
f
.
placeholder
.
length
)}
function
N
(
a
,
b
,
f
,
e
,
h
){
e
=
void
0
!=
e
?
e
.
slice
():
ia
(
a
.
_valueGet
()).
split
(
""
);
g
();
b
&&
a
.
_valueSet
(
""
);
d
.
each
(
e
,
function
(
b
,
g
){
if
(
!
0
===
h
){
var
e
=
c
.
p
,
e
=-
1
==
e
?
e
:
U
(
e
),
p
=-
1
==
e
?
b
:
B
(
e
);
-
1
==
d
.
inArray
(
g
,
A
().
slice
(
e
+
1
,
p
))
&&
X
.
call
(
a
,
void
0
,
!
0
,
g
.
charCodeAt
(
0
),
!
1
,
f
,
b
)}
else
X
.
call
(
a
,
void
0
,
!
0
,
g
.
charCodeAt
(
0
),
!
1
,
f
,
b
),
f
=
f
||
0
<
b
&&
b
>
c
.
p
});
b
&&
C
(
a
,
u
(),
d
(
a
).
is
(
":focus"
)?
B
(
t
(
0
)):
{
caret
:
B
(
a
)};
else
if
((
f
.
insertMode
||
void
0
==
b
.
validPositions
[
B
(
a
)])
&&!
N
(
a
))
for
(
var
k
=
a
+
1
,
w
=
B
(
a
);
k
<=
w
;
k
++
)
if
(
v
=
l
(
k
,
c
,
g
,
h
),
!
1
!==
v
){
a
=
k
;
break
}
!
0
===
v
&&
(
v
=
{
pos
:
a
});
return
v
}
function
N
(
a
){
a
=
w
(
a
);
return
null
!=
a
.
fn
?
a
.
fn
:
!
1
}
function
R
(){
var
a
;
M
=
s
.
prop
(
"maxLength"
);
-
1
==
M
&&
(
M
=
void
0
);
if
(
!
1
==
f
.
greedy
){
var
c
;
c
=
r
();
a
=
b
.
validPositions
[
c
];
var
e
=
void
0
!=
a
?
a
.
locator
.
slice
():
void
0
;
for
(
c
+=
1
;
void
0
==
a
||
null
!=
a
.
match
.
fn
||
null
==
a
.
match
.
fn
&&
""
!=
a
.
match
.
def
;
c
++
)
a
=
F
(
c
,
e
,
c
-
1
),
e
=
a
.
locator
.
slice
();
a
=
c
}
else
a
=
q
().
length
;
return
void
0
==
void
0
)}
function
aa
(
a
){
return
d
.
inputmask
.
escapeRegex
.
call
(
this
,
a
)}
function
ia
(
a
){
return
a
.
replace
(
RegExp
(
"("
+
aa
(
A
().
join
(
""
))
+
")*$"
),
""
)}
function
ba
(
a
,
b
){
if
(
!
a
.
data
(
"_inputmask"
)
||!
0
!==
b
&&
a
.
hasClass
(
"hasDatepicker"
))
return
a
[
0
].
_valueGet
();
var
g
=
[],
e
=
c
.
validPositions
,
h
;
for
(
h
in
e
)
e
[
h
].
match
&&
null
!=
e
[
h
].
match
.
fn
&&
g
.
push
(
e
[
h
].
input
);
g
=
(
y
?
g
.
reverse
():
g
).
join
(
""
);
e
=
(
y
?
u
().
reverse
():
u
()).
join
(
""
);
return
d
.
isFunction
(
f
.
onUnMask
)?
f
.
onUnMask
.
call
(
a
,
e
,
g
,
f
):
g
}
function
K
(
a
){
!
y
||
"number"
!=
typeof
a
||
f
.
greedy
&&
M
||
a
<
M
?
a
:
M
}
function
B
(
a
){
var
b
=
R
();
if
(
a
>=
b
)
return
b
;
for
(;
++
a
<
b
&&!
N
(
a
)
&&
(
!
0
!==
f
.
nojumps
||
f
.
nojumpsThreshold
>
a
););
return
a
}
function
X
(
a
){
if
(
0
>=
a
)
return
0
;
for
(;
0
<--
a
&&!
N
(
a
););
return
a
}
function
E
(
a
,
b
,
c
){
a
.
_valueSet
(
b
.
join
(
""
));
void
0
!=
c
&&
x
(
a
,
c
)}
function
U
(
a
,
b
){
b
=
b
||
w
(
a
);
return
b
.
placeholder
||
(
null
==
b
.
fn
?
b
.
def
:
f
.
placeholder
.
charAt
(
a
%
f
.
placeholder
.
length
))}
function
S
(
a
,
c
,
g
,
h
,
m
){
h
=
void
0
!=
h
?
h
.
slice
():
la
(
a
.
_valueGet
()).
split
(
""
);
d
();
c
&&
a
.
_valueSet
(
""
);
e
.
each
(
h
,
function
(
c
,
d
){
if
(
!
0
===
m
){
var
f
=
b
.
p
,
f
=-
1
==
f
?
f
:
""
==
f
.
placeholder
||
(
a
=
u
().
length
-
a
);
return
a
}
function
x
(
a
,
c
,
b
){
a
=
a
.
jquery
&&
0
<
a
.
length
?
a
[
0
]:
a
;
if
(
"number"
==
typeof
c
){
c
=
K
(
c
);
b
=
K
(
b
);
b
=
"number"
==
typeof
b
?
b
:
c
;
var
g
=
d
(
a
).
data
(
"_inputmask"
)
||
{};
g
.
caret
=
{
begin
:
c
,
end
:
b
};
d
(
a
).
data
(
"_inputmask"
,
g
);
d
(
a
).
is
(
":visible"
)
&&
(
a
.
scrollLeft
=
a
.
scrollWidth
,
!
1
==
f
.
insertMode
&&
c
==
b
&&
b
++
,
a
.
setSelectionRange
?(
a
.
selectionStart
=
c
,
a
.
selectionEnd
=
b
):
a
.
createTextRange
&&
(
a
=
a
.
createTextRange
(),
a
.
collapse
(
!
0
),
a
.
moveEnd
(
"character"
,
b
),
a
.
moveStart
(
"character"
,
c
),
a
.
select
()))}
else
return
g
=
X
(
f
),
h
=-
1
==
f
?
c
:
B
(
f
);
-
1
==
e
.
inArray
(
d
,
C
().
slice
(
f
+
1
,
h
))
&&
$
.
call
(
a
,
void
0
,
!
0
,
d
.
charCodeAt
(
0
),
!
1
,
g
,
c
)}
else
$
.
call
(
a
,
void
0
,
!
0
,
d
.
charCodeAt
(
0
),
!
1
,
g
,
c
),
g
=
g
||
0
<
c
&&
c
>
b
.
p
});
c
&&
(
c
=
f
.
onKeyPress
.
call
(
this
,
void
0
,
q
(),
0
,
f
),
Y
(
a
,
c
),
E
(
a
,
q
(),
e
(
a
).
is
(
":focus"
)?
B
(
r
(
0
)):
void
0
))}
function
da
(
a
){
return
e
.
inputmask
.
escapeRegex
.
call
(
this
,
a
)}
function
la
(
a
){
return
a
.
replace
(
RegExp
(
"("
+
da
(
C
().
join
(
""
))
+
")*$"
),
""
)}
function
ga
(
a
,
c
){
if
(
!
a
.
data
(
"_inputmask"
)
||!
0
!==
c
&&
a
.
hasClass
(
"hasDatepicker"
))
return
a
[
0
].
_valueGet
();
var
d
=
[],
d
(
a
).
data
(
"_inputmask"
),
!
d
(
a
).
is
(
":visible"
)
&&
g
&&
void
0
!=
g
.
caret
?(
c
=
g
.
caret
.
begin
,
b
=
g
.
caret
.
end
):
a
.
setSelectionRange
?(
c
=
a
.
selectionStart
,
b
=
a
.
selectionEnd
):
document
.
selection
&&
document
.
selection
.
createRange
&&
(
a
=
document
.
selection
.
createRange
(),
c
=
0
-
a
.
duplicate
().
moveStart
(
"character"
,
-
1
E5
),
b
=
c
+
a
.
text
.
length
),
c
=
K
(
c
),
b
=
K
(
b
),{
begin
:
c
,
end
:
b
}}
function
da
(
a
){
var
b
=
u
(),
g
=
b
.
length
,
f
,
e
=
t
(),
h
=
{},
p
=
void
0
!=
c
.
validPositions
[
e
]?
c
.
validPositions
[
e
].
locator
.
slice
():
void
0
,
k
;
for
(
f
=
e
+
1
;
f
<
b
.
length
;
f
++
)
k
=
q
(
f
,
p
,
f
-
1
),
p
=
g
=
b
.
validPositions
,
h
;
for
(
h
in
g
)
g
[
h
].
match
&&
null
!=
g
[
h
].
match
.
fn
&&
d
.
push
(
g
[
h
].
input
);
d
=
(
z
?
d
.
reverse
():
d
).
join
(
""
);
g
=
(
z
?
q
().
reverse
():
q
()).
join
(
""
);
e
.
isFunction
(
f
.
onUnMask
)
&&
(
d
=
f
.
onUnMask
.
call
(
a
,
g
,
d
,
f
));
return
d
}
function
P
(
a
){
!
z
||
"number"
!=
typeof
a
||
f
.
greedy
&&
""
==
f
.
placeholder
||
(
a
=
q
().
length
-
a
);
return
a
}
function
x
(
a
,
b
,
c
){
a
=
a
.
jquery
&&
0
<
a
.
length
?
a
[
0
]:
a
;
if
(
"number"
==
typeof
b
){
b
=
P
(
b
);
c
=
P
(
c
);
c
=
"number"
==
typeof
c
?
c
:
b
;
var
d
=
e
(
a
).
data
(
"_inputmask"
)
||
{};
d
.
caret
=
{
begin
:
b
,
end
:
c
};
e
(
a
).
data
(
"_inputmask"
,
d
);
e
(
a
).
is
(
":visible"
)
&&
k
.
locator
.
slice
(),
h
[
f
]
=
d
.
extend
(
!
0
,{},
k
);
for
(
f
=
g
-
1
;
f
>
e
;
f
--
)
if
(
k
=
h
[
f
].
match
,(
k
.
optionality
||
k
.
optionalQuantifier
)
&&
b
[
f
]
==
V
(
f
,
k
))
g
--
;
else
break
;
return
a
?{
l
:
g
,
def
:
h
[
g
]?
h
[
g
].
match
:
void
0
}:
g
}
function
Y
(
a
){
var
c
=
u
().
slice
(),
b
=
da
();
c
.
length
=
b
;
C
(
a
,
c
)}
function
P
(
a
){
if
(
d
.
isFunction
(
f
.
isComplete
))
return
f
.
isComplete
.
call
(
r
,
a
,
f
);
if
(
"*"
!=
f
.
repeat
){
var
c
=!
1
,
b
=
da
(
!
0
),
g
=
U
(
b
.
l
);
if
(
t
()
==
g
&&
(
void
0
==
b
.
def
||
b
.
def
.
newBlockMarker
||
b
.
def
.
optionalQuantifier
))
for
(
c
=!
0
,
b
=
0
;
b
<=
g
;
b
++
){
var
e
=
L
(
b
);
if
(
e
&&
(
void
0
==
a
[
b
]
||
a
[
b
]
==
V
(
b
))
||
(
a
.
scrollLeft
=
a
.
scrollWidth
,
!
1
==
f
.
insertMode
&&
b
==
c
&&
c
++
,
a
.
setSelectionRange
?(
a
.
selectionStart
=
b
,
a
.
selectionEnd
=
c
):
a
.
createTextRange
&&
(
a
=
a
.
createTextRange
(),
a
.
collapse
(
!
0
),
a
.
moveEnd
(
"character"
,
c
),
a
.
moveStart
(
"character"
,
b
),
a
.
select
()))}
else
return
d
=
e
(
a
).
data
(
"_inputmask"
),
!
e
(
a
).
is
(
":visible"
)
&&
d
&&
void
0
!=
d
.
caret
?(
b
=
d
.
caret
.
begin
,
c
=
d
.
caret
.
end
):
a
.
setSelectionRange
?(
b
=
a
.
selectionStart
,
c
=
a
.
selectionEnd
):
document
.
selection
&&
document
.
selection
.
createRange
&&
(
a
=
document
.
selection
.
createRange
(),
b
=
0
-
a
.
duplicate
().
moveStart
(
"character"
,
!
e
&&
a
[
b
]
!=
V
(
b
)){
c
=!
1
;
break
}}
return
c
}}
function
la
(
a
){
a
=
d
.
_data
(
a
).
events
;
d
.
each
(
a
,
function
(
a
,
c
){
d
.
each
(
c
,
function
(
a
,
c
){
if
(
"inputmask"
==
c
.
namespace
&&
"setvalue"
!=
c
.
type
){
var
b
=
c
.
handler
;
c
.
handler
=
function
(
a
){
if
(
this
.
readOnly
||
this
.
disabled
)
a
.
preventDefault
;
else
return
b
.
apply
(
this
,
arguments
)}}})})}
function
ma
(
a
){
function
c
(
a
){
if
(
void
0
==
d
.
valHooks
[
a
]
||!
0
!=
d
.
valHooks
[
a
].
inputmaskpatch
){
var
b
=
d
.
valHooks
[
a
]
&&
d
.
valHooks
[
a
].
get
?
d
.
valHooks
[
a
].
get
:
function
(
a
){
return
a
.
value
},
g
=
d
.
valHooks
[
a
]
&&
d
.
valHooks
[
a
].
set
?
-
1
E5
),
c
=
b
+
a
.
text
.
length
),
b
=
P
(
b
),
c
=
P
(
c
),{
begin
:
b
,
end
:
c
}}
function
aa
(
a
){
var
c
=
q
(),
d
=
c
.
length
,
f
,
g
=
r
(),
h
=
{},
m
=
void
0
!=
b
.
validPositions
[
g
]?
b
.
validPositions
[
g
].
locator
.
slice
():
void
0
,
k
;
for
(
f
=
g
+
1
;
f
<
c
.
length
;
f
++
)
k
=
F
(
f
,
m
,
f
-
1
),
m
=
k
.
locator
.
slice
(),
h
[
f
]
=
e
.
extend
(
!
0
,{},
k
);
for
(
f
=
d
-
1
;
f
>
g
;
f
--
)
if
(
k
=
h
[
f
].
match
,(
k
.
optionality
||
k
.
optionalQuantifier
)
&&
c
[
f
]
==
U
(
f
,
k
))
d
--
;
else
break
;
return
a
?{
l
:
d
,
def
:
h
[
d
]?
h
[
d
].
match
:
void
0
}:
d
}
function
ba
(
a
){
var
b
=
q
().
slice
(),
c
=
aa
();
b
.
length
=
c
;
E
(
a
,
b
)}
function
T
(
a
){
if
(
e
.
isFunction
(
f
.
isComplete
))
return
f
.
isComplete
.
call
(
s
,
d
.
valHooks
[
a
].
set
:
function
(
a
,
c
){
a
.
value
=
c
;
return
a
};
d
.
valHooks
[
a
]
=
{
get
:
function
(
a
){
var
c
=
d
(
a
);
if
(
c
.
data
(
"_inputmask"
)){
if
(
c
.
data
(
"_inputmask"
).
opts
.
autoUnmask
)
return
c
.
inputmask
(
"unmaskedvalue"
);
a
=
b
(
a
);
c
=
(
c
=
c
.
data
(
"_inputmask"
).
maskset
.
_buffer
)?
c
.
join
(
""
):
""
;
return
a
!=
c
?
a
:
""
}
return
b
(
a
)},
set
:
function
(
a
,
c
){
var
b
=
d
(
a
),
f
=
b
.
data
(
"_inputmask"
);
f
?(
f
=
g
(
a
,
d
.
isFunction
(
f
.
opts
.
onBeforeMask
)?
f
.
opts
.
onBeforeMask
.
call
(
z
,
c
,
f
.
opts
):
c
),
b
.
triggerHandler
(
"setvalue.inputmask"
)):
f
=
g
(
a
,
c
);
return
f
},
inputmaskpatch
:
!
0
}}}
a
,
f
);
if
(
"*"
!=
f
.
repeat
){
var
b
=!
1
,
c
=
aa
(
!
0
),
d
=
X
(
c
.
l
);
if
(
r
()
==
d
&&
(
void
0
==
c
.
def
||
c
.
def
.
newBlockMarker
||
c
.
def
.
optionalQuantifier
))
for
(
b
=!
0
,
c
=
0
;
c
<=
d
;
c
++
){
var
g
=
N
(
c
);
if
(
g
&&
(
void
0
==
a
[
c
]
||
a
[
c
]
==
U
(
c
))
||!
g
&&
a
[
c
]
!=
U
(
c
)){
b
=!
1
;
break
}}
return
b
}}
function
oa
(
a
){
a
=
e
.
_data
(
a
).
events
;
e
.
each
(
a
,
function
(
a
,
b
){
e
.
each
(
b
,
function
(
a
,
b
){
if
(
"inputmask"
==
b
.
namespace
&&
"setvalue"
!=
b
.
type
){
var
c
=
b
.
handler
;
b
.
handler
=
function
(
a
){
if
(
this
.
readOnly
||
this
.
disabled
)
a
.
preventDefault
;
else
return
c
.
apply
(
this
,
arguments
)}}})})}
function
pa
(
a
){
function
b
(
a
){
if
(
void
0
==
var
b
;
Object
.
getOwnPropertyDescriptor
&&
(
b
=
Object
.
getOwnPropertyDescriptor
(
a
,
"value"
));
if
(
b
&&
b
.
get
){
if
(
!
a
.
_valueGet
){
var
g
=
b
.
get
,
f
=
b
.
set
;
a
.
_valueGet
=
function
(){
return
y
?
g
.
call
(
this
).
split
(
""
).
reverse
().
join
(
""
):
g
.
call
(
this
)};
a
.
_valueSet
=
function
(
a
){
f
.
call
(
this
,
y
?
a
.
split
(
""
).
reverse
().
join
(
""
):
a
)};
Object
.
defineProperty
(
a
,
"value"
,{
get
:
function
(){
var
a
=
d
(
this
),
c
=
d
(
this
).
data
(
"_inputmask"
);
return
c
?
c
.
opts
.
autoUnmask
?
a
.
inputmask
(
"unmaskedvalue"
):
g
.
call
(
this
)
!=
A
().
join
(
""
)?
g
.
call
(
this
):
""
:
g
.
call
(
this
)},
e
.
valHooks
[
a
]
||!
0
!=
e
.
valHooks
[
a
].
inputmaskpatch
){
var
c
=
e
.
valHooks
[
a
]
&&
e
.
valHooks
[
a
].
get
?
e
.
valHooks
[
a
].
get
:
function
(
a
){
return
a
.
value
},
d
=
e
.
valHooks
[
a
]
&&
e
.
valHooks
[
a
].
set
?
e
.
valHooks
[
a
].
set
:
function
(
a
,
b
){
a
.
value
=
b
;
return
a
};
e
.
valHooks
[
a
]
=
{
get
:
function
(
a
){
var
b
=
e
(
a
);
if
(
b
.
data
(
"_inputmask"
)){
if
(
b
.
data
(
"_inputmask"
).
opts
.
autoUnmask
)
return
b
.
inputmask
(
"unmaskedvalue"
);
a
=
c
(
a
);
b
=
(
b
=
b
.
data
(
"_inputmask"
).
maskset
.
_buffer
)?
b
.
join
(
""
):
""
;
return
a
!=
b
?
a
:
""
}
return
c
(
a
)},
set
:
function
(
a
,
b
){
var
c
=
e
(
a
),
f
=
c
.
data
(
"_inputmask"
);
set
:
function
(
a
){
var
c
=
d
(
this
).
data
(
"_inputmask"
);
c
?(
f
.
call
(
this
,
d
.
isFunction
(
c
.
opts
.
onBeforeMask
)?
c
.
opts
.
onBeforeMask
.
call
(
z
,
a
,
c
.
opts
):
a
),
d
(
this
).
triggerHandler
(
"setvalue.inputmask"
)):
f
.
call
(
this
,
a
)}})}}
else
document
.
__lookupGetter__
&&
a
.
__lookupGetter__
(
"value"
)?
a
.
_valueGet
||
(
g
=
a
.
__lookupGetter__
(
"value"
),
f
=
a
.
__lookupSetter__
(
"value"
),
a
.
_valueGet
=
function
(){
return
y
?
g
.
call
(
this
).
split
(
""
).
reverse
().
join
(
""
):
g
.
call
(
this
)},
a
.
_valueSet
=
function
(
a
){
f
.
call
(
this
,
y
?
a
.
split
(
""
).
reverse
().
join
(
""
):
a
)},
a
.
__defineGetter__
(
"value"
,
f
?(
f
=
d
(
a
,
e
.
isFunction
(
f
.
opts
.
onBeforeMask
)?
f
.
opts
.
onBeforeMask
.
call
(
A
,
b
,
f
.
opts
):
b
),
c
.
triggerHandler
(
"setvalue.inputmask"
)):
f
=
d
(
a
,
b
);
return
f
},
inputmaskpatch
:
!
0
}}}
var
c
;
Object
.
getOwnPropertyDescriptor
&&
(
c
=
Object
.
getOwnPropertyDescriptor
(
a
,
"value"
));
if
(
c
&&
c
.
get
){
if
(
!
a
.
_valueGet
){
var
d
=
c
.
get
,
f
=
c
.
set
;
a
.
_valueGet
=
function
(){
return
z
?
d
.
call
(
this
).
split
(
""
).
reverse
().
join
(
""
):
d
.
call
(
this
)};
a
.
_valueSet
=
function
(
a
){
f
.
call
(
this
,
z
?
a
.
split
(
""
).
reverse
().
join
(
""
):
a
)};
Object
.
defineProperty
(
a
,
"value"
,{
get
:
function
(){
var
a
=
function
(){
var
a
=
d
(
this
),
c
=
d
(
this
).
data
(
"_inputmask"
);
return
c
?
c
.
opts
.
autoUnmask
?
a
.
inputmask
(
"unmaskedvalue"
):
g
.
call
(
this
)
!=
A
().
join
(
""
)?
g
.
call
(
this
):
""
:
g
.
call
(
this
)}),
a
.
__defineSetter__
(
"value"
,
function
(
a
){
var
c
=
d
(
this
).
data
(
"_inputmask"
);
c
?(
f
.
call
(
this
,
d
.
isFunction
(
c
.
opts
.
onBeforeMask
)?
c
.
opts
.
onBeforeMask
.
call
(
z
,
a
,
c
.
opts
):
a
),
d
(
this
).
triggerHandler
(
"setvalue.inputmask"
)):
f
.
call
(
this
,
a
)})):(
a
.
_valueGet
||
(
a
.
_valueGet
=
function
(){
return
y
?
this
.
value
.
split
(
""
).
reverse
().
join
(
""
):
this
.
value
},
a
.
_valueSet
=
e
(
this
),
b
=
e
(
this
).
data
(
"_inputmask"
);
return
b
?
b
.
opts
.
autoUnmask
?
a
.
inputmask
(
"unmaskedvalue"
):
d
.
call
(
this
)
!=
C
().
join
(
""
)?
d
.
call
(
this
):
""
:
d
.
call
(
this
)},
set
:
function
(
a
){
var
b
=
e
(
this
).
data
(
"_inputmask"
);
b
?(
f
.
call
(
this
,
e
.
isFunction
(
b
.
opts
.
onBeforeMask
)?
b
.
opts
.
onBeforeMask
.
call
(
A
,
a
,
b
.
opts
):
a
),
e
(
this
).
triggerHandler
(
"setvalue.inputmask"
)):
f
.
call
(
this
,
a
)}})}}
else
document
.
__lookupGetter__
&&
a
.
__lookupGetter__
(
"value"
)?
a
.
_valueGet
||
(
d
=
a
.
__lookupGetter__
(
"value"
),
f
=
a
.
__lookupSetter__
(
"value"
),
a
.
_valueGet
=
function
(){
return
z
?
function
(
a
){
this
.
value
=
y
?
a
.
split
(
""
).
reverse
().
join
(
""
):
a
}),
c
(
a
.
type
))}
function
ea
(
a
,
b
,
d
){
if
(
f
.
numericInput
||
y
){
switch
(
b
){
case
f
.
keyCode
.
BACKSPACE
:
b
=
f
.
keyCode
.
DELETE
;
break
;
case
f
.
keyCode
.
DELETE
:
b
=
f
.
keyCode
.
BACKSPACE
}
y
&&
(
a
=
d
.
end
,
d
.
end
=
d
.
begin
,
d
.
begin
=
a
)}
d
.
begin
==
d
.
end
?
b
==
f
.
keyCode
.
BACKSPACE
?
d
.
begin
=
U
(
d
.
begin
):
b
==
f
.
keyCode
.
DELETE
&&
d
.
end
++
:
1
!=
d
.
end
-
d
.
begin
||
f
.
insertMode
||
b
==
f
.
keyCode
.
BACKSPACE
&&
d
.
begin
--
;
a
=
d
.
begin
;
var
e
=
d
.
end
;
for
(
b
=
a
;
a
<
e
;
a
++
)
delete
c
.
validPositions
[
a
];
for
(
a
=
e
;
a
<=
t
();){
var
e
=
c
.
validPositions
[
a
],
d
.
call
(
this
).
split
(
""
).
reverse
().
join
(
""
):
d
.
call
(
this
)},
a
.
_valueSet
=
function
(
a
){
f
.
call
(
this
,
z
?
a
.
split
(
""
).
reverse
().
join
(
""
):
a
)},
a
.
__defineGetter__
(
"value"
,
function
(){
var
a
=
e
(
this
),
b
=
e
(
this
).
data
(
"_inputmask"
);
return
b
?
b
.
opts
.
autoUnmask
?
a
.
inputmask
(
"unmaskedvalue"
):
d
.
call
(
this
)
!=
C
().
join
(
""
)?
d
.
call
(
this
):
""
:
d
.
call
(
this
)}),
a
.
__defineSetter__
(
"value"
,
function
(
a
){
var
b
=
e
(
this
).
data
(
"_inputmask"
);
b
?(
f
.
call
(
this
,
e
.
isFunction
(
b
.
opts
.
onBeforeMask
)?
b
.
opts
.
onBeforeMask
.
call
(
A
,
a
,
b
.
opts
):
a
),
e
(
this
).
triggerHandler
(
"setvalue.inputmask"
)):
h
=
c
.
validPositions
[
b
];
void
0
!=
e
&&
void
0
==
h
?(
J
(
b
,
e
.
match
.
def
)
&&!
1
!==
O
(
b
,
e
.
input
,
!
0
)
&&
(
delete
c
.
validPositions
[
a
],
a
++
),
b
++
):
a
++
}
for
(
b
=
t
();
0
<
b
&&
(
void
0
==
c
.
validPositions
[
b
]
||
null
==
c
.
validPositions
[
b
].
match
.
fn
);)
delete
c
.
validPositions
[
b
],
b
--
;
g
(
!
0
);
b
=
B
(
-
1
);
t
()
<
b
?
c
.
p
=
b
:
c
.
p
=
d
.
begin
}
function
fa
(
a
){
Z
=!
1
;
var
b
=
this
,
h
=
d
(
b
),
k
=
a
.
keyCode
,
p
=
x
(
b
);
k
==
f
.
keyCode
.
BACKSPACE
||
k
==
f
.
keyCode
.
DELETE
||
e
&&
127
==
k
||
a
.
ctrlKey
&&
88
==
k
?(
a
.
preventDefault
(),
88
==
k
&&
(
F
=
u
().
join
(
""
)),
ea
(
b
,
k
,
p
),
C
(
b
,
u
(),
c
.
p
),
b
.
_valueGet
()
==
A
().
join
(
""
)
&&
f
.
call
(
this
,
a
)})):(
a
.
_valueGet
||
(
a
.
_valueGet
=
function
(){
return
z
?
this
.
value
.
split
(
""
).
reverse
().
join
(
""
):
this
.
value
},
a
.
_valueSet
=
function
(
a
){
this
.
value
=
z
?
a
.
split
(
""
).
reverse
().
join
(
""
):
a
}),
b
(
a
.
type
))}
function
ha
(
a
,
c
,
d
){
if
(
f
.
numericInput
||
z
)
c
==
f
.
keyCode
.
BACKSPACE
?
c
=
f
.
keyCode
.
DELETE
:
c
==
f
.
keyCode
.
DELETE
&&
(
c
=
f
.
keyCode
.
BACKSPACE
),
z
&&
(
a
=
d
.
end
,
d
.
end
=
d
.
begin
,
d
.
begin
=
a
);
c
==
f
.
keyCode
.
BACKSPACE
&&
1
>=
d
.
end
-
d
.
begin
?
d
.
begin
=
X
(
d
.
begin
):
c
==
f
.
keyCode
.
DELETE
&&
d
.
begin
==
d
.
end
&&
d
.
end
++
;
t
(
d
.
begin
,
d
.
end
);
c
=
r
(
d
.
begin
);
b
.
p
=
h
.
trigger
(
"cleared"
),
f
.
showTooltip
&&
h
.
prop
(
"title"
,
c
.
mask
)):
k
==
f
.
keyCode
.
END
||
k
==
f
.
keyCode
.
PAGE_DOWN
?
setTimeout
(
function
(){
var
c
=
B
(
t
());
f
.
insertMode
||
c
!=
M
()
||
a
.
shiftKey
||
c
--
;
x
(
b
,
a
.
shiftKey
?
p
.
begin
:
c
,
c
)},
0
):
k
==
f
.
keyCode
.
HOME
&&!
a
.
shiftKey
||
k
==
f
.
keyCode
.
PAGE_UP
?
x
(
b
,
0
,
a
.
shiftKey
?
p
.
begin
:
0
):
k
==
f
.
keyCode
.
ESCAPE
||
90
==
k
&&
a
.
ctrlKey
?(
N
(
b
,
!
0
,
!
1
,
F
.
split
(
""
)),
h
.
click
()):
k
!=
f
.
keyCode
.
INSERT
||
a
.
shiftKey
||
a
.
ctrlKey
?
!
1
!=
f
.
insertMode
||
a
.
shiftKey
||
(
k
==
f
.
keyCode
.
RIGHT
?
setTimeout
(
function
(){
var
a
=
x
(
b
);
x
(
b
,
a
.
begin
)},
0
):
c
<
d
.
begin
?
B
(
c
):
d
.
begin
}
function
Y
(
a
,
b
,
c
){
if
(
b
&&
b
.
refreshFromBuffer
){
var
f
=
b
.
refreshFromBuffer
;
Z
(
!
0
===
f
?
f
:
f
.
start
,
f
.
end
);
d
(
!
0
);
void
0
!=
c
&&
(
E
(
a
,
q
()),
x
(
a
,
b
.
caret
||
c
.
begin
,
b
.
caret
||
c
.
end
))}}
function
ia
(
a
){
ca
=!
1
;
var
c
=
this
,
d
=
e
(
c
),
g
=
a
.
keyCode
,
m
=
x
(
c
);
g
==
f
.
keyCode
.
BACKSPACE
||
g
==
f
.
keyCode
.
DELETE
||
h
&&
127
==
g
||
a
.
ctrlKey
&&
88
==
g
?(
a
.
preventDefault
(),
88
==
g
&&
(
I
=
q
().
join
(
""
)),
ha
(
c
,
g
,
m
),
E
(
c
,
q
(),
b
.
p
),
c
.
_valueGet
()
==
C
().
join
(
""
)
&&
d
.
trigger
(
"cleared"
),
f
.
showTooltip
&&
d
.
prop
(
"title"
,
b
.
mask
)):
g
==
f
.
keyCode
.
END
||
g
==
f
.
keyCode
.
PAGE_DOWN
?
k
==
f
.
keyCode
.
LEFT
&&
setTimeout
(
function
(){
var
a
=
x
(
b
);
x
(
b
,
a
.
begin
-
1
)},
0
)):(
f
.
insertMode
=!
f
.
insertMode
,
x
(
b
,
f
.
insertMode
||
p
.
begin
!=
M
()?
p
.
begin
:
p
.
begin
-
1
));
var
h
=
x
(
b
),
q
=
f
.
onKeyDown
.
call
(
this
,
a
,
u
(),
f
);
q
&&!
0
===
q
.
refreshFromBuffer
&&
(
c
.
validPositions
=
{},
c
.
tests
=
{},
R
(
0
,
u
().
length
),
g
(
!
0
),
C
(
b
,
u
()),
x
(
b
,
h
.
begin
,
h
.
end
));
ga
=-
1
!=
d
.
inArray
(
k
,
f
.
ignorables
)}
function
X
(
a
,
b
,
e
,
h
,
k
,
m
){
if
(
void
0
==
e
&&
Z
)
return
!
1
;
Z
=!
0
;
var
s
=
d
(
this
);
a
=
a
||
window
.
event
;
e
=
b
?
e
:
a
.
which
||
a
.
charCode
||
a
.
keyCode
;
if
(
!
(
!
0
===
b
||
a
.
ctrlKey
&&
a
.
altKey
)
&&
(
a
.
ctrlKey
||
setTimeout
(
function
(){
var
b
=
B
(
r
());
f
.
insertMode
||
b
!=
R
()
||
a
.
shiftKey
||
b
--
;
x
(
c
,
a
.
shiftKey
?
m
.
begin
:
b
,
b
)},
0
):
g
==
f
.
keyCode
.
HOME
&&!
a
.
shiftKey
||
g
==
f
.
keyCode
.
PAGE_UP
?
x
(
c
,
0
,
a
.
shiftKey
?
m
.
begin
:
0
):
g
==
f
.
keyCode
.
ESCAPE
||
90
==
g
&&
a
.
ctrlKey
?(
S
(
c
,
!
0
,
!
1
,
I
.
split
(
""
)),
d
.
click
()):
g
!=
f
.
keyCode
.
INSERT
||
a
.
shiftKey
||
a
.
ctrlKey
?
!
1
!=
f
.
insertMode
||
a
.
shiftKey
||
(
g
==
f
.
keyCode
.
RIGHT
?
setTimeout
(
function
(){
var
a
=
x
(
c
);
x
(
c
,
a
.
begin
)},
0
):
g
==
f
.
keyCode
.
LEFT
&&
setTimeout
(
function
(){
var
a
=
x
(
c
);
x
(
c
,
z
?
a
.
begin
+
1
:
a
.
begin
-
1
)},
0
)):(
f
.
insertMode
=!
f
.
insertMode
,
a
.
metaKey
||
ga
))
return
!
0
;
if
(
e
){
!
0
!==
b
&&
46
==
e
&&!
1
==
a
.
shiftKey
&&
","
==
f
.
radixPoint
&&
(
e
=
44
);
var
l
;
e
=
String
.
fromCharCode
(
e
);
b
?(
m
=
k
?
m
:
t
()
+
1
,
m
=
{
begin
:
m
,
end
:
m
}):
m
=
x
(
this
);
var
J
=
y
?
1
<
m
.
begin
-
m
.
end
||
1
==
m
.
begin
-
m
.
end
&&
f
.
insertMode
:
1
<
m
.
end
-
m
.
begin
||
1
==
m
.
end
-
m
.
begin
&&
f
.
insertMode
;
J
&&
(
c
.
undoPositions
=
d
.
extend
(
!
0
,{},
c
.
validPositions
),
ea
(
this
,
f
.
keyCode
.
DELETE
,
m
),
f
.
insertMode
||
(
f
.
insertMode
=!
f
.
insertMode
,
p
(
m
.
begin
,
k
),
f
.
insertMode
=!
f
.
insertMode
),
J
=!
f
.
multi
);
c
.
writeOutBuffer
=!
0
;
var
D
=
m
.
begin
,
r
=
O
(
D
,
e
,
k
);
!
1
!==
r
&&
(
!
0
!==
x
(
c
,
f
.
insertMode
||
m
.
begin
!=
R
()?
m
.
begin
:
m
.
begin
-
1
));
var
d
=
x
(
c
),
k
=
f
.
onKeyDown
.
call
(
this
,
a
,
q
(),
d
.
begin
,
f
);
Y
(
c
,
k
,
d
);
ja
=-
1
!=
e
.
inArray
(
g
,
f
.
ignorables
)}
function
$
(
a
,
c
,
g
,
h
,
k
,
l
){
if
(
void
0
==
g
&&
ca
)
return
!
1
;
ca
=!
0
;
var
t
=
e
(
this
);
a
=
a
||
window
.
event
;
g
=
c
?
g
:
a
.
which
||
a
.
charCode
||
a
.
keyCode
;
if
(
!
(
!
0
===
c
||
a
.
ctrlKey
&&
a
.
altKey
)
&&
(
a
.
ctrlKey
||
a
.
metaKey
||
ja
))
return
!
0
;
if
(
g
){
!
0
!==
c
&&
46
==
g
&&!
1
==
a
.
shiftKey
&&
","
==
f
.
radixPoint
&&
(
g
=
44
);
var
w
,
F
;
g
=
String
.
fromCharCode
(
g
);
c
?(
l
=
k
?
l
:
r
()
+
1
,
w
=
{
begin
:
l
,
end
:
l
}):
w
=
x
(
this
);
if
(
l
=
z
?
1
<
w
.
begin
-
w
.
end
||
r
&&
(
D
=
void
0
!=
r
.
pos
?
r
.
pos
:
D
,
e
=
void
0
!=
r
.
c
?
r
.
c
:
e
),
g
(
!
0
),
void
0
!=
r
.
caret
?
l
=
r
.
caret
:(
k
=
c
.
validPositions
,
l
=
void
0
!=
k
[
D
+
1
]
&&
q
(
m
+
1
,
k
[
D
].
locator
.
slice
(),
D
).
match
.
def
!=
k
[
D
+
1
].
match
.
def
?
D
+
1
:
B
(
D
)),
c
.
p
=
l
);
if
(
!
1
!==
h
){
var
v
=
this
;
setTimeout
(
function
(){
f
.
onKeyValidation
.
call
(
v
,
r
,
f
)},
0
);
if
(
c
.
writeOutBuffer
&&!
1
!==
r
){
var
A
=
u
();
C
(
this
,
A
,
b
?
void
0
:
f
.
numericInput
?
U
(
l
):
l
);
!
0
!==
b
&&
setTimeout
(
function
(){
!
0
===
P
(
A
)
&&
s
.
trigger
(
"complete"
);
T
=!
0
;
s
.
trigger
(
"input"
)},
0
)}
else
J
&&
(
c
.
buffer
=
void
0
,
c
.
validPositions
=
c
.
undoPositions
)}
else
J
&&
1
==
w
.
begin
-
w
.
end
&&
f
.
insertMode
:
1
<
w
.
end
-
w
.
begin
||
1
==
w
.
end
-
w
.
begin
&&
f
.
insertMode
)
b
.
undoPositions
=
e
.
extend
(
!
0
,{},
b
.
validPositions
),
ha
(
this
,
f
.
keyCode
.
DELETE
,
w
),
f
.
insertMode
||
(
f
.
insertMode
=!
f
.
insertMode
,
m
(
w
.
begin
,
k
),
f
.
insertMode
=!
f
.
insertMode
),
l
=!
f
.
multi
;
b
.
writeOutBuffer
=!
0
;
w
=
z
&&!
l
?
w
.
end
:
w
.
begin
;
var
n
=
Q
(
w
,
g
,
k
);
!
1
!==
n
&&
(
!
0
!==
n
&&
(
w
=
void
0
!=
n
.
pos
?
n
.
pos
:
w
,
g
=
void
0
!=
n
.
c
?
n
.
c
:
g
),
d
(
!
0
),
void
0
!=
n
.
caret
?
F
=
n
.
caret
:(
k
=
b
.
validPositions
,
F
=
void
0
!=
k
[
w
+
1
]
&&
1
<
O
(
w
+
1
,
k
[
w
].
locator
.
slice
(),
w
).
length
?
w
+
1
:
B
(
w
)),
b
.
p
=
F
);
if
(
!
1
!==
(
c
.
buffer
=
void
0
,
c
.
validPositions
=
c
.
undoPositions
);
f
.
showTooltip
&&
s
.
prop
(
"title"
,
c
.
mask
);
a
&&!
0
!=
b
&&
(
a
.
preventDefault
?
a
.
preventDefault
():
a
.
returnValue
=!
1
)}}
function
na
(
a
){
var
b
=
d
(
this
),
e
=
a
.
keyCode
,
h
=
u
();(
a
=
f
.
onKeyUp
.
call
(
this
,
a
,
h
,
f
))
&&!
0
===
a
.
refreshFromBuffer
&&
(
c
.
validPositions
=
{},
c
.
tests
=
{},
R
(
0
,
u
().
length
),
g
(
!
0
),
C
(
this
,
u
()));
e
==
f
.
keyCode
.
TAB
&&
f
.
showMaskOnFocus
&&
(
b
.
hasClass
(
"focus.inputmask"
)
&&
0
==
this
.
_valueGet
().
length
?(
g
(),
h
=
u
(),
C
(
this
,
h
),
x
(
this
,
0
),
F
=
u
().
join
(
""
)):(
C
(
this
,
h
),
x
(
this
,
K
(
0
),
K
(
M
()))))}
h
){
var
s
=
this
;
setTimeout
(
function
(){
f
.
onKeyValidation
.
call
(
s
,
n
,
f
)},
0
);
if
(
b
.
writeOutBuffer
&&!
1
!==
n
){
var
u
=
q
();
E
(
this
,
u
,
c
?
void
0
:
f
.
numericInput
?
X
(
F
):
F
);
!
0
!==
c
&&
setTimeout
(
function
(){
!
0
===
T
(
u
)
&&
t
.
trigger
(
"complete"
);
W
=!
0
;
t
.
trigger
(
"input"
)},
0
)}
else
l
&&
(
b
.
buffer
=
void
0
,
b
.
validPositions
=
b
.
undoPositions
)}
else
l
&&
(
b
.
buffer
=
void
0
,
b
.
validPositions
=
b
.
undoPositions
);
f
.
showTooltip
&&
t
.
prop
(
"title"
,
b
.
mask
);
a
&&!
0
!=
c
&&
(
a
.
preventDefault
?
a
.
preventDefault
():
a
.
returnValue
=!
1
,
c
=
x
(
this
),
a
=
f
.
onKeyPress
.
call
(
this
,
a
,
q
(),
function
ha
(
a
){
if
(
!
0
===
T
&&
"input"
==
a
.
type
)
return
T
=!
1
,
!
0
;
var
b
=
this
,
c
=
d
(
b
);
if
(
"propertychange"
==
a
.
type
&&
b
.
_valueGet
().
length
<=
M
())
return
!
0
;
setTimeout
(
function
(){
var
a
=
d
.
isFunction
(
f
.
onBeforePaste
)?
f
.
onBeforePaste
.
call
(
b
,
b
.
_valueGet
(),
f
):
b
.
_valueGet
();
N
(
b
,
!
0
,
!
1
,
a
.
split
(
""
),
!
0
);
!
0
===
P
(
u
())
&&
c
.
trigger
(
"complete"
);
c
.
click
()},
0
)}
function
oa
(
a
){
if
(
!
0
===
T
&&
"input"
==
a
.
type
)
return
T
=!
1
,
!
0
;
var
b
=
x
(
this
),
c
=
this
.
_valueGet
(),
c
=
c
.
replace
(
RegExp
(
"("
+
aa
(
A
().
join
(
""
))
+
")*"
),
""
);
b
.
begin
>
c
.
length
&&
(
x
(
this
,
c
.
length
),
c
.
begin
,
f
),
Y
(
this
,
a
,
c
));
for
(
var
C
in
b
.
validPositions
);}}
function
qa
(
a
){
var
b
=
e
(
this
),
c
=
a
.
keyCode
,
g
=
q
(),
h
=
x
(
this
);
a
=
f
.
onKeyUp
.
call
(
this
,
a
,
g
,
h
.
begin
,
f
);
Y
(
this
,
a
,
h
);
c
==
f
.
keyCode
.
TAB
&&
f
.
showMaskOnFocus
&&
(
b
.
hasClass
(
"focus-inputmask"
)
&&
0
==
this
.
_valueGet
().
length
?(
d
(),
g
=
q
(),
E
(
this
,
g
),
x
(
this
,
0
),
I
=
q
().
join
(
""
)):(
E
(
this
,
g
),
x
(
this
,
P
(
0
),
P
(
R
()))))}
function
ka
(
a
){
if
(
!
0
===
W
&&
"input"
==
a
.
type
)
return
W
=!
1
,
!
0
;
var
b
=
e
(
this
),
c
=
this
.
_valueGet
();
if
(
"propertychange"
==
a
.
type
&&
this
.
_valueGet
().
length
<=
R
())
return
!
0
;
"paste"
==
b
=
x
(
this
));
1
!=
u
().
length
-
c
.
length
||
c
.
charAt
(
b
.
begin
)
==
u
()[
b
.
begin
]
||
c
.
charAt
(
b
.
begin
+
1
)
==
u
()[
b
.
begin
]
||
L
(
b
.
begin
)
||
(
a
.
keyCode
=
f
.
keyCode
.
BACKSPACE
,
fa
.
call
(
this
,
a
));
a
.
preventDefault
()}
function
pa
(
a
){
r
=
d
(
a
);
if
(
r
.
is
(
":input"
)
&&
"number"
!=
r
.
attr
(
"type"
)){
r
.
data
(
"_inputmask"
,{
maskset
:
c
,
opts
:
f
,
isRTL
:
!
1
});
f
.
showTooltip
&&
r
.
prop
(
"title"
,
c
.
mask
);
ma
(
a
);(
"rtl"
==
a
.
dir
||
f
.
rightAlign
)
&&
r
.
css
(
"text-align"
,
"right"
);
if
(
"rtl"
==
a
.
dir
||
f
.
numericInput
){
a
.
dir
=
"ltr"
;
r
.
removeAttr
(
"dir"
);
var
b
=
r
.
data
(
"_inputmask"
);
b
.
isRTL
=!
0
;
a
.
type
&&
(
window
.
clipboardData
&&
window
.
clipboardData
.
getData
?
c
=
window
.
clipboardData
.
getData
(
"Text"
):
a
.
originalEvent
&&
a
.
originalEvent
.
clipboardData
&&
a
.
originalEvent
.
clipboardData
.
getData
&&
(
c
=
a
.
originalEvent
.
clipboardData
.
getData
(
"text/plain"
)));
a
=
e
.
isFunction
(
f
.
onBeforePaste
)?
f
.
onBeforePaste
.
call
(
this
,
c
,
f
):
c
;
S
(
this
,
!
0
,
!
1
,
a
.
split
(
""
),
!
0
);
b
.
click
();
!
0
===
T
(
q
())
&&
b
.
trigger
(
"complete"
);
return
!
1
}
function
ra
(
a
){
if
(
!
0
===
W
&&
"input"
==
a
.
type
)
return
W
=!
1
,
!
0
;
var
b
=
x
(
this
),
c
=
this
.
_valueGet
(),
c
=
c
.
replace
(
RegExp
(
"("
+
r
.
data
(
"_inputmask"
,
b
);
y
=!
0
}
r
.
unbind
(
".inputmask"
);
r
.
removeClass
(
"focus.inputmask"
);
r
.
closest
(
"form"
).
bind
(
"submit"
,
function
(){
F
!=
u
().
join
(
""
)
&&
r
.
change
()}).
bind
(
"reset"
,
function
(){
setTimeout
(
function
(){
r
.
trigger
(
"setvalue"
)},
0
)});
r
.
bind
(
"mouseenter.inputmask"
,
function
(){
!
d
(
this
).
hasClass
(
"focus.inputmask"
)
&&
f
.
showMaskOnHover
&&
this
.
_valueGet
()
!=
u
().
join
(
""
)
&&
C
(
this
,
u
())}).
bind
(
"blur.inputmask"
,
function
(){
var
a
=
d
(
this
);
if
(
a
.
data
(
"_inputmask"
)){
var
b
=
this
.
_valueGet
(),
c
=
u
();
a
.
removeClass
(
"focus.inputmask"
);
da
(
C
().
join
(
""
))
+
")*"
),
""
);
b
.
begin
>
c
.
length
&&
(
x
(
this
,
c
.
length
),
b
=
x
(
this
));
1
!=
q
().
length
-
c
.
length
||
c
.
charAt
(
b
.
begin
)
==
q
()[
b
.
begin
]
||
c
.
charAt
(
b
.
begin
+
1
)
==
q
()[
b
.
begin
]
||
N
(
b
.
begin
)
||
(
a
.
keyCode
=
f
.
keyCode
.
BACKSPACE
,
ia
.
call
(
this
,
a
));
a
.
preventDefault
()}
function
sa
(
a
){
s
=
e
(
a
);
if
(
s
.
is
(
":input"
)
&&
"number"
!=
s
.
attr
(
"type"
)){
s
.
data
(
"_inputmask"
,{
maskset
:
b
,
opts
:
f
,
isRTL
:
!
1
});
f
.
showTooltip
&&
s
.
prop
(
"title"
,
b
.
mask
);
pa
(
a
);(
"rtl"
==
a
.
dir
||
f
.
rightAlign
)
&&
s
.
css
(
"text-align"
,
"right"
);
if
(
"rtl"
==
a
.
dir
||
f
.
numericInput
){
a
.
dir
=
F
!=
u
().
join
(
""
)
&&
a
.
change
();
f
.
clearMaskOnLostFocus
&&
""
!=
b
&&
(
b
==
A
().
join
(
""
)?
this
.
_valueSet
(
""
):
Y
(
this
));
!
1
===
P
(
c
)
&&
(
a
.
trigger
(
"incomplete"
),
f
.
clearIncomplete
&&
(
g
(),
f
.
clearMaskOnLostFocus
?
this
.
_valueSet
(
""
):(
c
=
A
().
slice
(),
C
(
this
,
c
))))}}).
bind
(
"focus.inputmask"
,
function
(){
var
a
=
d
(
this
),
b
=
this
.
_valueGet
();
f
.
showMaskOnFocus
&&!
a
.
hasClass
(
"focus.inputmask"
)
&&
(
!
f
.
showMaskOnHover
||
f
.
showMaskOnHover
&&
""
==
b
)
&&
this
.
_valueGet
()
!=
u
().
join
(
""
)
&&
C
(
this
,
u
(),
B
(
t
()));
a
.
addClass
(
"focus.inputmask"
);
F
=
u
().
join
(
""
)}).
bind
(
"mouseleave.inputmask"
,
"ltr"
;
s
.
removeAttr
(
"dir"
);
var
c
=
s
.
data
(
"_inputmask"
);
c
.
isRTL
=!
0
;
s
.
data
(
"_inputmask"
,
c
);
z
=!
0
}
s
.
unbind
(
".inputmask"
);
s
.
removeClass
(
"focus-inputmask"
);
s
.
closest
(
"form"
).
bind
(
"submit"
,
function
(){
I
!=
q
().
join
(
""
)
&&
s
.
change
()}).
bind
(
"reset"
,
function
(){
setTimeout
(
function
(){
s
.
trigger
(
"setvalue"
)},
0
)});
s
.
bind
(
"mouseenter.inputmask"
,
function
(){
!
e
(
this
).
hasClass
(
"focus-inputmask"
)
&&
f
.
showMaskOnHover
&&
this
.
_valueGet
()
!=
q
().
join
(
""
)
&&
E
(
this
,
q
())}).
bind
(
"blur.inputmask"
,
function
(){
var
a
=
e
(
this
);
if
(
a
.
data
(
"_inputmask"
)){
var
b
=
function
(){
var
a
=
d
(
this
);
f
.
clearMaskOnLostFocus
&&
(
a
.
hasClass
(
"focus.inputmask"
)
||
this
.
_valueGet
()
==
a
.
attr
(
"placeholder"
)
||
(
this
.
_valueGet
()
==
A
().
join
(
""
)
||
""
==
this
.
_valueGet
()?
this
.
_valueSet
(
""
):
Y
(
this
)))}).
bind
(
"click.inputmask"
,
function
(){
var
a
=
this
;
setTimeout
(
function
(){
var
b
=
x
(
a
);
u
();
if
(
b
.
begin
==
b
.
end
){
var
b
=
y
?
K
(
b
.
begin
):
b
.
begin
,
c
=
t
(
b
),
c
=
B
(
c
);
b
<
c
?
L
(
b
)?
x
(
a
,
b
):
x
(
a
,
B
(
b
)):
x
(
a
,
c
)}},
0
)}).
bind
(
"dblclick.inputmask"
,
function
(){
var
a
=
this
;
setTimeout
(
function
(){
x
(
a
,
0
,
B
(
t
()))},
0
)}).
bind
(
H
+
".inputmask dragdrop.inputmask drop.inputmask"
,
this
.
_valueGet
(),
c
=
q
();
a
.
removeClass
(
"focus-inputmask"
);
I
!=
q
().
join
(
""
)
&&
a
.
change
();
f
.
clearMaskOnLostFocus
&&
""
!=
b
&&
(
b
==
C
().
join
(
""
)?
this
.
_valueSet
(
""
):
ba
(
this
));
!
1
===
T
(
c
)
&&
(
a
.
trigger
(
"incomplete"
),
f
.
clearIncomplete
&&
(
d
(),
f
.
clearMaskOnLostFocus
?
this
.
_valueSet
(
""
):(
c
=
C
().
slice
(),
E
(
this
,
c
))))}}).
bind
(
"focus.inputmask"
,
function
(){
var
a
=
e
(
this
),
b
=
this
.
_valueGet
();
f
.
showMaskOnFocus
&&!
a
.
hasClass
(
"focus-inputmask"
)
&&
(
!
f
.
showMaskOnHover
||
f
.
showMaskOnHover
&&
""
==
b
)
&&
this
.
_valueGet
()
!=
q
().
join
(
""
)
&&
E
(
this
,
q
(),
ha
).
bind
(
"setvalue.inputmask"
,
function
(){
N
(
this
,
!
0
);
F
=
u
().
join
(
""
);
this
.
_valueGet
()
==
A
().
join
(
""
)
&&
this
.
_valueSet
(
""
)}).
bind
(
"complete.inputmask"
,
f
.
oncomplete
).
bind
(
"incomplete.inputmask"
,
f
.
onincomplete
).
bind
(
"cleared.inputmask"
,
f
.
oncleared
);
r
.
bind
(
"keydown.inputmask"
,
fa
).
bind
(
"keypress.inputmask"
,
X
).
bind
(
"keyup.inputmask"
,
na
);
if
(
l
||
v
||
w
||
G
)
"input"
==
H
&&
r
.
unbind
(
H
+
".inputmask"
),
r
.
bind
(
"input.inputmask"
,
oa
);
h
&&
r
.
bind
(
"input.inputmask"
,
ha
);
b
=
d
.
isFunction
(
f
.
onBeforeMask
)?
f
.
onBeforeMask
.
call
(
a
,
a
.
_valueGet
(),
B
(
r
()));
a
.
addClass
(
"focus-inputmask"
);
I
=
q
().
join
(
""
)}).
bind
(
"mouseleave.inputmask"
,
function
(){
var
a
=
e
(
this
);
f
.
clearMaskOnLostFocus
&&
(
a
.
hasClass
(
"focus-inputmask"
)
||
this
.
_valueGet
()
==
a
.
attr
(
"placeholder"
)
||
(
this
.
_valueGet
()
==
C
().
join
(
""
)
||
""
==
this
.
_valueGet
()?
this
.
_valueSet
(
""
):
ba
(
this
)))}).
bind
(
"click.inputmask"
,
function
(){
var
a
=
this
;
e
(
a
).
is
(
":focus"
)
&&
setTimeout
(
function
(){
var
b
=
x
(
a
);
if
(
b
.
begin
==
b
.
end
){
var
b
=
z
?
P
(
b
.
begin
):
b
.
begin
,
c
=
r
(
b
),
c
=
B
(
c
);
b
<
c
?
N
(
b
)?
x
(
a
,
b
):
x
(
a
,
B
(
b
)):
x
(
a
,
c
)}},
0
)}).
bind
(
"dblclick.inputmask"
,
f
):
a
.
_valueGet
();
N
(
a
,
!
0
,
!
1
,
b
.
split
(
""
),
!
0
);
F
=
u
().
join
(
""
);
var
e
;
try
{
e
=
document
.
activeElement
}
catch
(
k
){}
e
===
a
?(
r
.
addClass
(
"focus.inputmask"
),
x
(
a
,
B
(
t
()))):(
!
1
===
P
(
u
())
&&
f
.
clearIncomplete
&&
g
(),
f
.
clearMaskOnLostFocus
?
u
().
join
(
""
)
==
A
().
join
(
""
)?
a
.
_valueSet
(
""
):
Y
(
a
):
C
(
a
,
u
()));
la
(
a
)}}
var
y
=!
1
,
F
,
r
,
Z
=!
1
,
T
=!
1
,
ga
=!
1
,
I
;
if
(
void
0
!=
a
)
switch
(
a
.
action
){
case
"isComplete"
:
return
r
=
d
(
a
.
el
),
c
=
r
.
data
(
"_inputmask"
).
maskset
,
f
=
r
.
data
(
"_inputmask"
).
opts
,
P
(
a
.
buffer
);
case
"unmaskedvalue"
:
return
r
=
a
.
$input
,
c
=
r
.
data
(
"_inputmask"
).
maskset
,
function
(){
var
a
=
this
;
setTimeout
(
function
(){
x
(
a
,
0
,
B
(
r
()))},
0
)}).
bind
(
L
+
".inputmask dragdrop.inputmask drop.inputmask"
,
ka
).
bind
(
"setvalue.inputmask"
,
function
(){
S
(
this
,
!
0
);
I
=
q
().
join
(
""
);
this
.
_valueGet
()
==
C
().
join
(
""
)
&&
this
.
_valueSet
(
""
)}).
bind
(
"complete.inputmask"
,
f
.
oncomplete
).
bind
(
"incomplete.inputmask"
,
f
.
onincomplete
).
bind
(
"cleared.inputmask"
,
f
.
oncleared
);
s
.
bind
(
"keydown.inputmask"
,
ia
).
bind
(
"keypress.inputmask"
,
$
).
bind
(
"keyup.inputmask"
,
qa
);
if
(
n
||
u
||
y
||
K
)
"input"
==
L
&&
s
.
unbind
(
L
+
".inputmask"
),
s
.
bind
(
"input.inputmask"
,
f
=
r
.
data
(
"_inputmask"
).
opts
,
y
=
a
.
$input
.
data
(
"_inputmask"
).
isRTL
,
ba
(
a
.
$input
,
a
.
skipDatepickerCheck
);
case
"mask"
:
F
=
u
().
join
(
""
);
pa
(
a
.
el
);
break
;
case
"format"
:
return
r
=
d
({}),
r
.
data
(
"_inputmask"
,{
maskset
:
c
,
opts
:
f
,
isRTL
:
f
.
numericInput
}),
f
.
numericInput
&&
(
y
=!
0
),
a
=
a
.
value
.
split
(
""
),
N
(
r
,
!
1
,
!
1
,
y
?
a
.
reverse
():
a
,
!
0
),
y
?
u
().
reverse
().
join
(
""
):
u
().
join
(
""
);
case
"isValid"
:
return
r
=
d
({}),
r
.
data
(
"_inputmask"
,{
maskset
:
c
,
opts
:
f
,
isRTL
:
f
.
numericInput
}),
f
.
numericInput
&&
(
y
=!
0
),
a
=
a
.
value
.
split
(
""
),
N
(
r
,
!
1
,
!
0
,
y
?
a
.
reverse
():
a
),
ra
);
g
&&
s
.
bind
(
"input.inputmask"
,
ka
);
c
=
e
.
isFunction
(
f
.
onBeforeMask
)?
f
.
onBeforeMask
.
call
(
a
,
a
.
_valueGet
(),
f
):
a
.
_valueGet
();
S
(
a
,
!
0
,
!
1
,
c
.
split
(
""
),
!
0
);
I
=
q
().
join
(
""
);
var
h
;
try
{
h
=
document
.
activeElement
}
catch
(
m
){}
h
===
a
?(
s
.
addClass
(
"focus-inputmask"
),
x
(
a
,
B
(
r
()))):(
!
1
===
T
(
q
())
&&
f
.
clearIncomplete
&&
d
(),
f
.
clearMaskOnLostFocus
?
q
().
join
(
""
)
==
C
().
join
(
""
)?
a
.
_valueSet
(
""
):
ba
(
a
):
E
(
a
,
q
()));
oa
(
a
)}}
var
z
=!
1
,
I
,
s
,
ca
=!
1
,
W
=!
1
,
ja
=!
1
,
M
;
if
(
void
0
!=
a
)
switch
(
a
.
action
){
case
"isComplete"
:
return
s
=
e
(
a
.
el
),
b
=
s
.
data
(
"_inputmask"
).
maskset
,
P
(
u
());
case
"getemptymask"
:
return
r
=
d
(
a
.
el
),
c
=
r
.
data
(
"_inputmask"
).
maskset
,
f
=
r
.
data
(
"_inputmask"
).
opts
,
A
();
case
"remove"
:
var
z
=
a
.
el
;
r
=
d
(
z
);
c
=
r
.
data
(
"_inputmask"
).
maskset
;
f
=
r
.
data
(
"_inputmask"
).
opts
;
z
.
_valueSet
(
ba
(
r
));
r
.
unbind
(
".inputmask"
);
r
.
removeClass
(
"focus.inputmask"
);
r
.
removeData
(
"_inputmask"
);
var
$
;
Object
.
getOwnPropertyDescriptor
&&
(
$
=
Object
.
getOwnPropertyDescriptor
(
z
,
"value"
));
$
&&
$
.
get
?
z
.
_valueGet
&&
Object
.
defineProperty
(
z
,
"value"
,{
get
:
z
.
_valueGet
,
set
:
z
.
_valueSet
}):
document
.
__lookupGetter__
&&
f
=
s
.
data
(
"_inputmask"
).
opts
,
T
(
a
.
buffer
);
case
"unmaskedvalue"
:
return
s
=
a
.
$input
,
b
=
s
.
data
(
"_inputmask"
).
maskset
,
f
=
s
.
data
(
"_inputmask"
).
opts
,
z
=
a
.
$input
.
data
(
"_inputmask"
).
isRTL
,
ga
(
a
.
$input
,
a
.
skipDatepickerCheck
);
case
"mask"
:
I
=
q
().
join
(
""
);
sa
(
a
.
el
);
break
;
case
"format"
:
s
=
e
({});
s
.
data
(
"_inputmask"
,{
maskset
:
b
,
opts
:
f
,
isRTL
:
f
.
numericInput
});
f
.
numericInput
&&
(
z
=!
0
);
var
D
=
a
.
value
.
split
(
""
);
S
(
s
,
!
1
,
!
1
,
z
?
D
.
reverse
():
D
,
!
0
);
return
z
?
q
().
reverse
().
join
(
""
):
q
().
join
(
""
);
case
"isValid"
:
s
=
e
({});
s
.
data
(
"_inputmask"
,{
maskset
:
b
,
z
.
__lookupGetter__
(
"value"
)
&&
z
.
_valueGet
&&
(
z
.
__defineGetter__
(
"value"
,
z
.
_valueGet
),
z
.
__defineSetter__
(
"value"
,
z
.
_valueSet
));
try
{
delete
z
.
_valueGet
,
delete
z
.
_valueSet
}
catch
(
ra
){
z
.
_valueGet
=
void
0
,
z
.
_valueSet
=
void
0
}}};
d
.
inputmask
=
{
defaults
:{
placeholder
:
"_"
,
optionalmarker
:{
start
:
"["
,
end
:
"]"
},
quantifiermarker
:{
start
:
"{"
,
end
:
"}"
},
groupmarker
:{
start
:
"("
,
end
:
")"
},
alternatormarker
:
"|"
,
escapeChar
:
"
\
\"
,mask:null,oncomplete:d.noop,onincomplete:d.noop,oncleared:d.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,
opts
:
f
,
isRTL
:
f
.
numericInput
});
f
.
numericInput
&&
(
z
=!
0
);
D
=
a
.
value
.
split
(
""
);
S
(
s
,
!
1
,
!
0
,
z
?
D
.
reverse
():
D
);
var
D
=
q
(),
ta
=
aa
();
D
.
length
=
ta
;
return
T
(
D
)
&&
a
.
value
==
D
.
join
(
""
);
case
"getemptymask"
:
return
s
=
e
(
a
.
el
),
b
=
s
.
data
(
"_inputmask"
).
maskset
,
f
=
s
.
data
(
"_inputmask"
).
opts
,
C
();
case
"remove"
:
var
A
=
a
.
el
;
s
=
e
(
A
);
b
=
s
.
data
(
"_inputmask"
).
maskset
;
f
=
s
.
data
(
"_inputmask"
).
opts
;
A
.
_valueSet
(
ga
(
s
));
s
.
unbind
(
".inputmask"
);
s
.
removeClass
(
"focus-inputmask"
);
s
.
removeData
(
"_inputmask"
);
Object
.
getOwnPropertyDescriptor
&&
(
D
=
Object
.
getOwnPropertyDescriptor
(
A
,
insertMode:!0,clearIncomplete:!1,aliases:{},alias:null,onKeyUp:d.noop,onKeyDown:d.noop,onBeforeMask:void 0,onBeforePaste:void 0,onUnMask:void 0,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:d.noop,skipOptionalPartCharacter:"
",showTooltip:!1,numericInput:!1,getLastValidPosition:void 0,rightAlign:!1,radixPoint:"",definitions:{9:{validator:"
[
0
-
9
]
",cardinality:1,definitionSymbol:"
*
"},a:{validator:"
[
A
-
Za
-
z
\
u0410
-
\
u044f
\
u0401
\
u0451
]
",cardinality:1,definitionSymbol:"
*
"},"
*
":{validator:"
[
A
-
Za
-
z
\
u0410
-
\
u044f
\
u0401
\
u04510
-
9
]
",
"value"
));
D
&&
D
.
get
?
A
.
_valueGet
&&
Object
.
defineProperty
(
A
,
"value"
,{
get
:
A
.
_valueGet
,
set
:
A
.
_valueSet
}):
document
.
__lookupGetter__
&&
A
.
__lookupGetter__
(
"value"
)
&&
A
.
_valueGet
&&
(
A
.
__defineGetter__
(
"value"
,
A
.
_valueGet
),
A
.
__defineSetter__
(
"value"
,
A
.
_valueSet
));
try
{
delete
A
.
_valueGet
,
delete
A
.
_valueSet
}
catch
(
va
){
A
.
_valueGet
=
void
0
,
A
.
_valueSet
=
void
0
}}};
e
.
inputmask
=
{
defaults
:{
placeholder
:
"_"
,
optionalmarker
:{
start
:
"["
,
end
:
"]"
},
quantifiermarker
:{
start
:
"{"
,
end
:
"}"
},
groupmarker
:{
start
:
"("
,
end
:
")"
},
alternatormarker
:
"|"
,
cardinality:1}},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91},ignorables:[8,9,13,19,27,33,34,35,36,37,38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123],
escapeChar
:
"
\
\"
,mask:null,oncomplete:e.noop,onincomplete:e.noop,oncleared:e.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},alias:null,onKeyUp:e.noop,onKeyPress:e.noop,onKeyDown:e.noop,onBeforeMask:void 0,onBeforePaste:void 0,onUnMask:void 0,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:e.noop,skipOptionalPartCharacter:"
",showTooltip:!1,numericInput:!1,rightAlign:!1,radixPoint:"",nojumps:!1,nojumpsThreshold:0,definitions:{9:{validator:"
[
0
-
9
]
",
isComplete:void 0},masksCache:{},escapeRegex:function(a){return a.replace(RegExp("
(
\\
/|
\\
.
|
\\
*|
\\
+|
\\
?
|
\\
||
\\
(
|
\\
)
|
\\
[
|
\\
]
|
\\
{
|
\\
}
|
\\\\
)
","
gim
"),"
\\
$1
")},format:function(a,b){var f=d.extend(!0,{},d.inputmask.defaults,b);c(f.alias,b,f);return t({action:"
format
",value:a},g(f),f)},isValid:function(a,b){var f=d.extend(!0,{},d.inputmask.defaults,b);c(f.alias,b,f);return t({action:"
isValid
",value:a},g(f),f)}};d.fn.inputmask=function(a,b,f,e,h){function l(a,b){var c=d(a),g;for(g in b){var f=c.data("
inputmask
-
"+
cardinality:1,definitionSymbol:"
*
"},a:{validator:"
[
A
-
Za
-
z
\
u0410
-
\
u044f
\
u0401
\
u0451
]
",cardinality:1,definitionSymbol:"
*
"},"
*
":{validator:"
[
A
-
Za
-
z
\
u0410
-
\
u044f
\
u0401
\
u04510
-
9
]
",cardinality:1}},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,
g.toLowerCase());void 0!=f&&(b[g]=f)}return b}f=f||t;e=e||"
_inputmask
";var p=d.extend(!0,{},d.inputmask.defaults,b),q;if("
string
"===typeof a)switch(a){case "
mask
":return c(p.alias,b,p),q=g(p),0==q.length?this:this.each(function(){f({action:"
mask
",el:this},d.extend(!0,{},d.isArray(q)&&f===t?q[0]:q),l(this,p))});case "
unmaskedvalue
":return a=d(this),a.data(e)?f({action:"
unmaskedvalue
",$input:a}):a.val();case "
remove
":return this.each(function(){d(this).data(e)&&f({action:"
remove
",el:this})});case "
getemptymask
":return this.data(e)?
PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91},ignorables:[8,9,13,19,27,33,34,35,36,37,38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123],isComplete:void 0},masksCache:{},escapeRegex:function(a){return a.replace(RegExp("
(
\\
/|
\\
.
|
\\
*|
\\
+|
\\
?
|
\\
||
\\
(
|
\\
)
|
\\
[
|
\\
]
|
\\
{
|
\\
}
|
\\\\
)
","
gim
"),"
\\
$1
")},format:function(a,d){var f=e.extend(!0,{},e.inputmask.defaults,d);b(f.alias,d,f);return r({action:"
format
",value:a},c(f),f)},isValid:function(a,d){var f=e.extend(!0,{},e.inputmask.defaults,
f({action:"
getemptymask
",el:this}):"";case "
hasMaskedValue
":return this.data(e)?!this.data(e).opts.autoUnmask:!1;case "
isComplete
":return this.data(e)?f({action:"
isComplete
",buffer:this[0]._valueGet().split(""),el:this}):!0;case "
getmetadata
":if(this.data(e))return q=this.data(e).maskset,q.metadata;break;case "
_detectScope
":return c(p.alias,b,p),void 0==h||c(h,b,p)||-1!=d.inArray(h,"
mask
unmaskedvalue
remove
getemptymask
hasMaskedValue
isComplete
getmetadata
_detectScope
".split("
"))||(p.mask=h),
d);b(f.alias,d,f);return r({action:"
isValid
",value:a},c(f),f)}};e.fn.inputmask=function(a,d,f,g,h){function n(a,b){var c=e(a),d;for(d in b){var f=c.data("
inputmask
-
"+d.toLowerCase());void 0!=f&&(b[d]=f)}return b}f=f||r;g=g||"
_inputmask
";var m=e.extend(!0,{},e.inputmask.defaults,d),t;if("
string
"===typeof a)switch(a){case "
mask
":return b(m.alias,d,m),t=c(m),0==t.length?this:this.each(function(){f({action:"
mask
",el:this},e.extend(!0,{},e.isArray(t)&&f===r?t[0]:t),n(this,m))});case "
unmaskedvalue
":return a=
d.isFunction(p.mask)&&(p.mask=p.mask.call(this,p)),d.isArray(p.mask);default:return c(a,b,p)||(p.mask=a),q=g(p),void 0==q?this:this.each(function(){f({action:"
mask
",el:this},d.extend(!0,{},d.isArray(q)&&f===t?q[0]:q),l(this,p))})}else{if("
object
"==typeof a)return p=d.extend(!0,{},d.inputmask.defaults,a),c(p.alias,a,p),q=g(p),void 0==q?this:this.each(function(){f({action:"
mask
",el:this},d.extend(!0,{},d.isArray(q)&&f===t?q[0]:q),l(this,p))});if(void 0==a)return this.each(function(){var a=d(this).attr("
data
-
inputmask
");
e(this),a.data(g)?f({action:"
unmaskedvalue
",$input:a}):a.val();case "
remove
":return this.each(function(){e(this).data(g)&&f({action:"
remove
",el:this})});case "
getemptymask
":return this.data(g)?f({action:"
getemptymask
",el:this}):"";case "
hasMaskedValue
":return this.data(g)?!this.data(g).opts.autoUnmask:!1;case "
isComplete
":return this.data(g)?f({action:"
isComplete
",buffer:this[0]._valueGet().split(""),el:this}):!0;case "
getmetadata
":if(this.data(g))return t=this.data(g).maskset,t.metadata;break;case "
_detectScope
":return b(m.alias,
if(a&&""!=a)try{var a=a.replace(RegExp("
'","g"),'
"'),g=d.parseJSON("
{
"+a+"
}
");d.extend(!0,g,b);p=d.extend(!0,{},d.inputmask.defaults,g);c(p.alias,g,p);p.alias=void 0;d(this).inputmask("
mask
",p,f)}catch(e){}})}}}})(jQuery);
d,m),void 0==h||b(h,d,m)||-1!=e.inArray(h,"
mask
unmaskedvalue
remove
getemptymask
hasMaskedValue
isComplete
getmetadata
_detectScope
".split("
"))||(m.mask=h),e.isFunction(m.mask)&&(m.mask=m.mask.call(this,m)),e.isArray(m.mask);default:return b(m.alias,d,m),b(a,d,m)||(m.mask=a),t=c(m),void 0==t?this:this.each(function(){f({action:"
mask
",el:this},e.extend(!0,{},e.isArray(t)&&f===r?t[0]:t),n(this,m))})}else{if("
object
"==typeof a)return m=e.extend(!0,{},e.inputmask.defaults,a),b(m.alias,a,m),t=c(m),void 0==
(function(d){if(void 0!=d.fn.inputmask){var a=function(a,g,h){function b(a){var b=document.createElement("
input
");a="
on
"+a;var c=a in b;c||(b.setAttribute(a,"
return
;
"),c="
function
"==typeof b[a]);return c}function e(a){if(void 0==d.valHooks[a]||!0!=d.valHooks[a].inputmaskmultipatch){var b=d.valHooks[a]&&d.valHooks[a].get?d.valHooks[a].get:function(a){return a.value},c=d.valHooks[a]&&d.valHooks[a].set?d.valHooks[a].set:function(a,b){a.value=b;return a};d.valHooks[a]={get:function(a){var c=d(a);return c.data("
_inputmask
-
multi
")?
t?this:this.each(function(){f({action:"
mask
",el:this},e.extend(!0,{},e.isArray(t)&&f===r?t[0]:t),n(this,m))});if(void 0==a)return this.each(function(){var a=e(this).attr("
data
-
inputmask
");if(a&&""!=a)try{var a=a.replace(RegExp("
'","g"),'
"'),c=e.parseJSON("
{
"+a+"
}
");e.extend(!0,c,d);m=e.extend(!0,{},e.inputmask.defaults,c);b(m.alias,c,m);m.alias=void 0;e(this).inputmask("
mask
",m,f)}catch(g){}})}}}})(jQuery);
(a=c.data("
_inputmask
-
multi
"),b(a.elmasks[a.activeMasksetIndex])):b(a)},set:function(a,b){var g=d(a),f=c(a,b);g.data("
_inputmask
-
multi
")&&g.triggerHandler("
setvalue
");return f},inputmaskmultipatch:!0}}}function l(a,b,c){a=a.jquery&&0<a.length?a[0]:a;if("
number
"==typeof b){b=w(b);c=w(c);c="
number
"==typeof c?c:b;if(a!=k){var g=d(a).data("
_inputmask
")||{};g.caret={begin:b,end:c};d(a).data("
_inputmask
",g)}d(a).is("
:
visible
")&&(a.scrollLeft=a.scrollWidth,!1==h.insertMode&&b==c&&c++,a.setSelectionRange?
(function(e){if(void 0!=e.fn.inputmask){var a=function(a,c,g){function d(a){var b=document.createElement("
input
");a="
on
"+a;var c=a in b;c||(b.setAttribute(a,"
return
;
"),c="
function
"==typeof b[a]);return c}function h(a){if(void 0==e.valHooks[a]||!0!=e.valHooks[a].inputmaskmultipatch){var b=e.valHooks[a]&&e.valHooks[a].get?e.valHooks[a].get:function(a){return a.value},c=e.valHooks[a]&&e.valHooks[a].set?e.valHooks[a].set:function(a,b){a.value=b;return a};e.valHooks[a]={get:function(a){var c=e(a);return c.data("
_inputmask
-
multi
")?
(a.selectionStart=b,a.selectionEnd=c):a.createTextRange&&(a=a.createTextRange(),a.collapse(!0),a.moveEnd("
character
",c),a.moveStart("
character
",b),a.select()))}else return g=d(a).data("
_inputmask
"),!d(a).is("
:
visible
")&&g&&void 0!=g.caret?(b=g.caret.begin,c=g.caret.end):a.setSelectionRange?(b=a.selectionStart,c=a.selectionEnd):document.selection&&document.selection.createRange&&(a=document.selection.createRange(),b=0-a.duplicate().moveStart("
character
",-1E5),c=b+a.text.length),b=w(b),c=w(c),{begin:b,
(a=c.data("
_inputmask
-
multi
"),b(a.elmasks[a.activeMasksetIndex])):b(a)},set:function(a,b){var d=e(a),f=c(a,b);d.data("
_inputmask
-
multi
")&&d.triggerHandler("
setvalue
");return f},inputmaskmultipatch:!0}}}function n(a,b,c){a=a.jquery&&0<a.length?a[0]:a;if("
number
"==typeof b){b=y(b);c=y(c);c="
number
"==typeof c?c:b;if(a!=k){var d=e(a).data("
_inputmask
")||{};d.caret={begin:b,end:c};e(a).data("
_inputmask
",d)}e(a).is("
:
visible
")&&(a.scrollLeft=a.scrollWidth,!1==g.insertMode&&b==c&&c++,a.setSelectionRange?
end:c}}function w(a){!t||"
number
"!=typeof a||h.greedy&&""==h.placeholder||(a=k.value.length-a);return a}function v(a,b){if("
multiMaskScope
"!=a){if(d.isFunction(h.determineActiveMasksetIndex))s=h.determineActiveMasksetIndex.call(n,a,b);else{var c=-1,g=-1,f=-1;d.each(b,function(a,b){var e=d(b).data("
_inputmask
").maskset,h=-1,k=0,n=l(b).begin,q;for(q in e.validPositions)e=parseInt(q),e>h&&(h=e),k++;if(k>c||k==c&&g>n&&f>h||k==c&&g==n&&f<h)c=k,g=n,s=a,f=h})}var e=n.data("
_inputmask
-
multi
")||{activeMasksetIndex:0,
(a.selectionStart=b,a.selectionEnd=c):a.createTextRange&&(a=a.createTextRange(),a.collapse(!0),a.moveEnd("
character
",c),a.moveStart("
character
",b),a.select()))}else return d=e(a).data("
_inputmask
"),!e(a).is("
:
visible
")&&d&&void 0!=d.caret?(b=d.caret.begin,c=d.caret.end):a.setSelectionRange?(b=a.selectionStart,c=a.selectionEnd):document.selection&&document.selection.createRange&&(a=document.selection.createRange(),b=0-a.duplicate().moveStart("
character
",-1E5),c=b+a.text.length),b=y(b),c=y(c),{begin:b,
elmasks:b};e.activeMasksetIndex=s;n.data("
_inputmask
-
multi
",e)}-1==d.inArray(a,["
focus
"])&&k.value!=b[s]._valueGet()&&(e=""==d(b[s]).val()?b[s]._valueGet():d(b[s]).val(),k.value=e);-1==d.inArray(a,["
blur
","
focus
"])&&d(b[s]).hasClass("
focus
.
inputmask
")&&(e=l(b[s]),l(k,e.begin,e.end))}function G(a){k=a;n=d(k);t="
rtl
"==k.dir||h.numericInput;s=0;f=d.map(g,function(a,b){var c='<input type="
text
" ';n.attr("
value
")&&(c+='value="
'+n.attr("value")+'
" ');n.attr("
dir
")&&(c+='dir="
'+n.attr("dir")+'
" ');c=d(c+
end:c}}function y(a){!r||"
number
"!=typeof a||g.greedy&&""==g.placeholder||(a=k.value.length-a);return a}function u(a,b){if("
multiMaskScope
"!=a){if(e.isFunction(g.determineActiveMasksetIndex))l=g.determineActiveMasksetIndex.call(p,a,b);else{var c=-1,d=-1,f=-1;e.each(b,function(a,b){var g=e(b).data("
_inputmask
").maskset,h=-1,k=0,p=n(b).begin,m;for(m in g.validPositions)g=parseInt(m),g>h&&(h=g),k++;if(k>c||k==c&&d>p&&f>h||k==c&&d==p&&f<h)c=k,d=p,l=a,f=h})}var h=p.data("
_inputmask
-
multi
")||{activeMasksetIndex:0,
"
/>
")[0];d(c).inputmask(d.extend({},h,{mask:a.mask}));return c});n.data("
_inputmask
-
multi
",{activeMasksetIndex:0,elmasks:f});("
rtl
"==k.dir||h.rightAlign)&&n.css("
text
-
align
","
right
");k.dir="
ltr
";n.removeAttr("
dir
");""!=n.attr("
value
")&&v("
init
",f);n.bind("
mouseenter
blur
focus
mouseleave
click
dblclick
keydown
keypress
keypress
",function(a){var b=l(k),c,g=!0;if("
keydown
"==a.type){c=a.keyCode;if(c==h.keyCode.DOWN&&s<f.length-1)return s++,v("
multiMaskScope
",f),!1;if(c==h.keyCode.UP&&0<s)return s--,
elmasks:b};h.activeMasksetIndex=l;p.data("
_inputmask
-
multi
",h)}-1==e.inArray(a,["
focus
"])&&k.value!=b[l]._valueGet()&&(h=""==e(b[l]).val()?b[l]._valueGet():e(b[l]).val(),k.value=h);-1==e.inArray(a,["
blur
","
focus
"])&&e(b[l]).hasClass("
focus
-
inputmask
")&&(h=n(b[l]),n(k,h.begin,h.end))}function K(a){k=a;p=e(k);r="
rtl
"==k.dir||g.numericInput;l=0;f=e.map(c,function(a,b){var c='<input type="
text
" ';p.attr("
value
")&&(c+='value="
'+p.attr("value")+'
" ');p.attr("
dir
")&&(c+='dir="
'+p.attr("dir")+'
" ');c=e(c+
v("
multiMaskScope
",f),!1;if(a.ctrlKey||a.shiftKey||a.altKey)return!0}else if("
keypress
"==a.type&&(a.ctrlKey||a.shiftKey||a.altKey))return!0;d.each(f,function(f,e){if("
keydown
"==a.type){c=a.keyCode;if(c==h.keyCode.BACKSPACE&&e._valueGet().length<b.begin)return;if(c==h.keyCode.TAB)g=!1;else{if(c==h.keyCode.RIGHT){l(e,b.begin+1,b.end+1);g=!1;return}if(c==h.keyCode.LEFT){l(e,b.begin-1,b.end-1);g=!1;return}}}if(-1!=d.inArray(a.type,["
click
"])&&(l(e,w(b.begin),w(b.end)),b.begin!=b.end)){g=!1;return}-1!=
"
/>
")[0];e(c).inputmask(e.extend({},g,{mask:a.mask}));return c});p.data("
_inputmask
-
multi
",{activeMasksetIndex:0,elmasks:f});("
rtl
"==k.dir||g.rightAlign)&&p.css("
text
-
align
","
right
");k.dir="
ltr
";p.removeAttr("
dir
");""!=p.attr("
value
")&&u("
init
",f);p.bind("
mouseenter
blur
focus
mouseleave
click
dblclick
keydown
keypress
keypress
",function(a){var b=n(k),c,d=!0;if("
keydown
"==a.type){c=a.keyCode;if(c==g.keyCode.DOWN&&l<f.length-1)return l++,u("
multiMaskScope
",f),!1;if(c==g.keyCode.UP&&0<l)return l--,
d.inArray(a.type,["
keydown
"])&&b.begin!=b.end&&l(e,b.begin,b.end);d(e).triggerHandler(a)});g&&setTimeout(function(){v(a.type,f)},0)});n.bind(H+"
dragdrop
drop
setvalue
",function(a){l(k);setTimeout(function(){d.each(f,function(b,c){c._valueSet(k.value);d(c).triggerHandler(a)});setTimeout(function(){v(a.type,f)},0)},0)});e(k.type)}var H=b("
paste
")?"
paste
":b("
input
")?"
input
":"
propertychange
",t,k,n,f,s;h.multi=!0;if(void 0!=a)switch(a.action){case "
isComplete
":return n=d(a.el),a=n.data("
_inputmask
-
multi
"),
u("
multiMaskScope
",f),!1;if(a.ctrlKey||a.shiftKey||a.altKey)return!0}else if("
keypress
"==a.type&&(a.ctrlKey||a.shiftKey||a.altKey))return!0;e.each(f,function(f,h){if("
keydown
"==a.type){c=a.keyCode;if(c==g.keyCode.BACKSPACE&&h._valueGet().length<b.begin)return;if(c==g.keyCode.TAB)d=!1;else{if(c==g.keyCode.RIGHT){n(h,b.begin+1,b.end+1);d=!1;return}if(c==g.keyCode.LEFT){n(h,b.begin-1,b.end-1);d=!1;return}}}if(-1!=e.inArray(a.type,["
click
"])&&(n(h,y(b.begin),y(b.end)),b.begin!=b.end)){d=!1;return}-1!=
a=a.elmasks[a.activeMasksetIndex],d(a).inputmask("
isComplete
");case "
unmaskedvalue
":return n=a.$input,a=n.data("
_inputmask
-
multi
"),a=a.elmasks[a.activeMasksetIndex],d(a).inputmask("
unmaskedvalue
");case "
mask
":G(a.el);break;case "
format
":return n=d({}),n.data("
_inputmask
",{maskset:maskset,opts:h,isRTL:h.numericInput}),h.numericInput&&(t=!0),a=a.value.split(""),checkVal(n,!1,!1,t?a.reverse():a,!0),t?getBuffer().reverse().join(""):getBuffer().join("");case "
isValid
":return n=d({}),n.data("
_inputmask
",
e.inArray(a.type,["
keydown
"])&&b.begin!=b.end&&n(h,b.begin,b.end);e(h).triggerHandler(a)});d&&setTimeout(function(){u(a.type,f)},0)});p.bind(L+"
dragdrop
drop
setvalue
",function(a){n(k);setTimeout(function(){e.each(f,function(b,c){c._valueSet(k.value);e(c).triggerHandler(a)});setTimeout(function(){u(a.type,f)},0)},0)});h(k.type)}var L=d("
paste
")?"
paste
":d("
input
")?"
input
":"
propertychange
",r,k,p,f,l;g.multi=!0;if(void 0!=a)switch(a.action){case "
isComplete
":return p=e(a.el),a=p.data("
_inputmask
-
multi
"),
{maskset:maskset,opts:h,isRTL:h.numericInput}),h.numericInput&&(t=!0),a=a.value.split(""),checkVal(n,!1,!0,t?a.reverse():a),isComplete(getBuffer());case "
getemptymask
":return n=d(a.el),maskset=n.data("
_inputmask
").maskset,h=n.data("
_inputmask
").opts,getBufferTemplate();case "
remove
":k=a.el;n=d(k);maskset=n.data("
_inputmask
").maskset;h=n.data("
_inputmask
").opts;k._valueSet(unmaskedvalue(n));n.unbind("
.
inputmask
");n.removeClass("
focus
.
inputmask
");n.removeData("
_inputmask
");var W;Object.getOwnPropertyDescriptor&&
a=a.elmasks[a.activeMasksetIndex],e(a).inputmask("
isComplete
");case "
unmaskedvalue
":return p=a.$input,a=p.data("
_inputmask
-
multi
"),a=a.elmasks[a.activeMasksetIndex],e(a).inputmask("
unmaskedvalue
");case "
mask
":K(a.el);break;case "
format
":return p=e({}),p.data("
_inputmask
",{maskset:maskset,opts:g,isRTL:g.numericInput}),g.numericInput&&(r=!0),a=a.value.split(""),checkVal(p,!1,!1,r?a.reverse():a,!0),r?getBuffer().reverse().join(""):getBuffer().join("");case "
isValid
":return p=e({}),p.data("
_inputmask
",
(W=Object.getOwnPropertyDescriptor(k,"
value
"));W&&W.get?k._valueGet&&Object.defineProperty(k,"
value
",{get:k._valueGet,set:k._valueSet}):document.__lookupGetter__&&k.__lookupGetter__("
value
")&&k._valueGet&&(k.__defineGetter__("
value
",k._valueGet),k.__defineSetter__("
value
",k._valueSet));try{delete k._valueGet,delete k._valueSet}catch(qa){k._valueGet=void 0,k._valueSet=void 0}}};d.extend(d.inputmask.defaults,{multi:!1,nojumps:!1,nojumpsThreshold:0,determineActiveMasksetIndex:void 0});d.inputmask._fn=
{maskset:maskset,opts:g,isRTL:g.numericInput}),g.numericInput&&(r=!0),a=a.value.split(""),checkVal(p,!1,!0,r?a.reverse():a),isComplete(getBuffer());case "
getemptymask
":return p=e(a.el),maskset=p.data("
_inputmask
").maskset,g=p.data("
_inputmask
").opts,getBufferTemplate();case "
remove
":k=a.el;p=e(k);maskset=p.data("
_inputmask
").maskset;g=p.data("
_inputmask
").opts;k._valueSet(unmaskedvalue(p));p.unbind("
.
inputmask
");p.removeClass("
focus
-
inputmask
");p.removeData("
_inputmask
");var J;Object.getOwnPropertyDescriptor&&
d.fn.inputmask;d.fn.inputmask=function(c,g){if("
string
"===typeof c)return d.inputmask._fn("
_detectScope
",g,void 0,void 0,c)?d.inputmask._fn.call(this,c,g,a,"
_inputmask
-
multi
"):d.inputmask._fn.call(this,c,g);if("
object
"==typeof c)return d.inputmask._fn("
_detectScope
",c)?d.inputmask._fn.call(this,c,g,a,"
_inputmask
-
multi
"):d.inputmask._fn.call(this,c,g);if(void 0==c)return d.inputmask._fn.call(this,c,g)}}})(jQuery);
(J=Object.getOwnPropertyDescriptor(k,"
value
"));J&&J.get?k._valueGet&&Object.defineProperty(k,"
value
",{get:k._valueGet,set:k._valueSet}):document.__lookupGetter__&&k.__lookupGetter__("
value
")&&k._valueGet&&(k.__defineGetter__("
value
",k._valueGet),k.__defineSetter__("
value
",k._valueSet));try{delete k._valueGet,delete k._valueSet}catch(ua){k._valueGet=void 0,k._valueSet=void 0}}};e.extend(e.inputmask.defaults,{multi:!1,determineActiveMasksetIndex:void 0});e.inputmask._fn=e.fn.inputmask;e.fn.inputmask=
(function(d){d.extend(d.inputmask.defaults.definitions,{A:{validator:"
[
A
-
Za
-
z
]
",cardinality:1,casing:"
upper
"},"
#
":{validator:"
[
A
-
Za
-
z
\
u0410
-
\
u044f
\
u0401
\
u04510
-
9
]
",cardinality:1,casing:"
upper
"}});d.extend(d.inputmask.defaults.aliases,{url:{mask:"
ir
",placeholder:"",separator:"",defaultPrefix:"
http
:
//",regex:{urlpre1:/[fh]/,urlpre2:/(ft|ht)/,urlpre3:/(ftp|htt)/,urlpre4:/(ftp:|http|ftps)/,urlpre5:/(ftp:\/|ftps:|http:|https)/,urlpre6:/(ftp:\/\/|ftps:\/|http:\/|https:)/,urlpre7:/(ftp:\/\/|ftps:\/\/|http:\/\/|https:\/)/,
function(b,c){if("
string
"===typeof b)return e.inputmask._fn("
_detectScope
",c,void 0,void 0,b)?e.inputmask._fn.call(this,b,c,a,"
_inputmask
-
multi
"):e.inputmask._fn.call(this,b,c);if("
object
"==typeof b)return e.inputmask._fn("
_detectScope
",b)?e.inputmask._fn.call(this,b,c,a,"
_inputmask
-
multi
"):e.inputmask._fn.call(this,b,c);if(void 0==b)return e.inputmask._fn.call(this,b,c)}}})(jQuery);
urlpre8
:
/
(
ftp:
\/\/
|ftps:
\/\/
|http:
\/\/
|https:
\/\/)
/
},
definitions
:{
i
:{
validator
:
function
(
a
,
c
,
g
,
d
,
b
){
return
!
0
},
cardinality
:
8
,
prevalidator
:
function
(){
for
(
var
a
=
[],
c
=
0
;
8
>
c
;
c
++
)
a
[
c
]
=
function
(){
var
a
=
c
;
return
{
validator
:
function
(
c
,
b
,
d
,
l
,
w
){
if
(
w
.
regex
[
"urlpre"
+
(
a
+
1
)]){
var
v
=
c
;
0
<
a
+
1
-
c
.
length
&&
(
v
=
b
.
join
(
""
).
substring
(
0
,
a
+
1
-
c
.
length
)
+
""
+
v
);
c
=
w
.
regex
[
"urlpre"
+
(
a
+
1
)].
test
(
v
);
if
(
!
l
&&!
c
){
d
-=
a
;
for
(
l
=
0
;
l
<
w
.
defaultPrefix
.
length
;
l
++
)
b
[
d
]
=
w
.
defaultPrefix
[
l
],
d
++
;
for
(
l
=
0
;
l
<
v
.
length
-
1
;
l
++
)
b
[
d
]
=
v
[
l
],
d
++
;
return
{
pos
:
d
}}
return
c
}
return
!
1
},
(function(e){e.extend(e.inputmask.defaults.definitions,{A:{validator:"
[
A
-
Za
-
z
]
",cardinality:1,casing:"
upper
"},"
#
":{validator:"
[
A
-
Za
-
z
\
u0410
-
\
u044f
\
u0401
\
u04510
-
9
]
",cardinality:1,casing:"
upper
"}});e.extend(e.inputmask.defaults.aliases,{url:{mask:"
ir
",placeholder:"",separator:"",defaultPrefix:"
http
:
//",regex:{urlpre1:/[fh]/,urlpre2:/(ft|ht)/,urlpre3:/(ftp|htt)/,urlpre4:/(ftp:|http|ftps)/,urlpre5:/(ftp:\/|ftps:|http:|https)/,urlpre6:/(ftp:\/\/|ftps:\/|http:\/|https:)/,urlpre7:/(ftp:\/\/|ftps:\/\/|http:\/\/|https:\/)/,
cardinality
:
a
}}();
return
a
}()},
r
:{
validator
:
"."
,
cardinality
:
50
}},
insertMode
:
!
1
,
autoUnmask
:
!
1
},
ip
:{
mask
:
"i[i[i]].i[i[i]].i[i[i]].i[i[i]]"
,
definitions
:{
i
:{
validator
:
function
(
a
,
c
,
g
,
d
,
b
){
-
1
<
g
-
1
&&
"."
!=
c
[
g
-
1
]?(
a
=
c
[
g
-
1
]
+
a
,
a
=-
1
<
g
-
2
&&
"."
!=
c
[
g
-
2
]?
c
[
g
-
2
]
+
a
:
"0"
+
a
):
a
=
"00"
+
a
;
return
/25
[
0-5
]
|2
[
0-4
][
0-9
]
|
[
01
][
0-9
][
0-9
]
/
.
test
(
a
)},
cardinality
:
1
}}},
email
:{
mask
:
"*{1,20}[.*{1,20}][.*{1,20}][.*{1,20}]@*{1,20}.*{2,6}[.*{1,2}]"
,
greedy
:
!
1
,
onBeforePaste
:
function
(
a
,
c
){
a
=
a
.
toLowerCase
();
return
a
.
replace
(
"mailto:"
,
""
)},
definitions
:{
"*"
:{
validator
:
"[A-Za-z
\
u0410-
\
u044f
\
u0401
\
u04510-9]"
,
urlpre8
:
/
(
ftp:
\/\/
|ftps:
\/\/
|http:
\/\/
|https:
\/\/)
/
},
definitions
:{
i
:{
validator
:
function
(
a
,
b
,
c
,
g
,
d
){
return
!
0
},
cardinality
:
8
,
prevalidator
:
function
(){
for
(
var
a
=
[],
b
=
0
;
8
>
b
;
b
++
)
a
[
b
]
=
function
(){
var
a
=
b
;
return
{
validator
:
function
(
b
,
d
,
e
,
n
,
y
){
if
(
y
.
regex
[
"urlpre"
+
(
a
+
1
)]){
var
u
=
b
;
0
<
a
+
1
-
b
.
length
&&
(
u
=
d
.
buffer
.
join
(
""
).
substring
(
0
,
a
+
1
-
b
.
length
)
+
""
+
u
);
b
=
y
.
regex
[
"urlpre"
+
(
a
+
1
)].
test
(
u
);
if
(
!
n
&&!
b
){
e
-=
a
;
for
(
n
=
0
;
n
<
y
.
defaultPrefix
.
length
;
n
++
)
d
.
buffer
[
e
]
=
y
.
defaultPrefix
[
n
],
e
++
;
for
(
n
=
0
;
n
<
u
.
length
-
1
;
n
++
)
d
.
buffer
[
e
]
=
u
[
n
],
cardinality
:
1
,
casing
:
"lower"
}}}})})(
jQuery
);
e
++
;
return
{
pos
:
e
}}
return
b
}
return
!
1
},
cardinality
:
a
}}();
return
a
}()},
r
:{
validator
:
"."
,
cardinality
:
50
}},
insertMode
:
!
1
,
autoUnmask
:
!
1
},
ip
:{
mask
:
"i[i[i]].i[i[i]].i[i[i]].i[i[i]]"
,
definitions
:{
i
:{
validator
:
function
(
a
,
b
,
c
,
g
,
d
){
-
1
<
c
-
1
&&
"."
!=
b
.
buffer
[
c
-
1
]?(
a
=
b
.
buffer
[
c
-
1
]
+
a
,
a
=-
1
<
c
-
2
&&
"."
!=
b
.
buffer
[
c
-
2
]?
b
.
buffer
[
c
-
2
]
+
a
:
"0"
+
a
):
a
=
"00"
+
a
;
return
/25
[
0-5
]
|2
[
0-4
][
0-9
]
|
[
01
][
0-9
][
0-9
]
/
.
test
(
a
)},
cardinality
:
1
}}},
email
:{
mask
:
"*{1,20}[.*{1,20}][.*{1,20}][.*{1,20}]@*{1,20}.*{2,6}[.*{1,2}]"
,
greedy
:
!
1
,
onBeforePaste
:
function
(
a
,
(
function
(
d
){
d
.
extend
(
d
.
inputmask
.
defaults
.
definitions
,{
h
:{
validator
:
"[01][0-9]|2[0-3]"
,
cardinality
:
2
,
prevalidator
:[{
validator
:
"[0-2]"
,
cardinality
:
1
}]},
s
:{
validator
:
"[0-5][0-9]"
,
cardinality
:
2
,
prevalidator
:[{
validator
:
"[0-5]"
,
cardinality
:
1
}]},
d
:{
validator
:
"0[1-9]|[12][0-9]|3[01]"
,
cardinality
:
2
,
prevalidator
:[{
validator
:
"[0-3]"
,
cardinality
:
1
}]},
m
:{
validator
:
"0[1-9]|1[012]"
,
cardinality
:
2
,
prevalidator
:[{
validator
:
"[01]"
,
cardinality
:
1
}]},
y
:{
validator
:
"(19|20)
\\
d{2}"
,
cardinality
:
4
,
prevalidator
:[{
validator
:
"[12]"
,
b
){
a
=
a
.
toLowerCase
();
return
a
.
replace
(
"mailto:"
,
""
)},
definitions
:{
"*"
:{
validator
:
"[A-Za-z
\
u0410-
\
u044f
\
u0401
\
u04510-9]"
,
cardinality
:
1
,
casing
:
"lower"
}}}})})(
jQuery
);
cardinality
:
1
},{
validator
:
"(19|20)"
,
cardinality
:
2
},{
validator
:
"(19|20)
\\
d"
,
cardinality
:
3
}]}});
d
.
extend
(
d
.
inputmask
.
defaults
.
aliases
,{
"dd/mm/yyyy"
:{
mask
:
"1/2/y"
,
placeholder
:
"dd/mm/yyyy"
,
regex
:{
val1pre
:
/
[
0-3
]
/
,
val1
:
/0
[
1-9
]
|
[
12
][
0-9
]
|3
[
01
]
/
,
val2pre
:
function
(
a
){
a
=
d
.
inputmask
.
escapeRegex
.
call
(
this
,
a
);
return
RegExp
(
"((0[1-9]|[12][0-9]|3[01])"
+
a
+
"[01])"
)},
val2
:
function
(
a
){
a
=
d
.
inputmask
.
escapeRegex
.
call
(
this
,
a
);
return
RegExp
(
"((0[1-9]|[12][0-9])"
+
a
+
"(0[1-9]|1[012]))|(30"
+
a
+
"(0[13-9]|1[012]))|(31"
+
a
+
"(0[13578]|1[02]))"
)}},
(
function
(
e
){
e
.
extend
(
e
.
inputmask
.
defaults
.
definitions
,{
h
:{
validator
:
"[01][0-9]|2[0-3]"
,
cardinality
:
2
,
prevalidator
:[{
validator
:
"[0-2]"
,
cardinality
:
1
}]},
s
:{
validator
:
"[0-5][0-9]"
,
cardinality
:
2
,
prevalidator
:[{
validator
:
"[0-5]"
,
cardinality
:
1
}]},
d
:{
validator
:
"0[1-9]|[12][0-9]|3[01]"
,
cardinality
:
2
,
prevalidator
:[{
validator
:
"[0-3]"
,
cardinality
:
1
}]},
m
:{
validator
:
"0[1-9]|1[012]"
,
cardinality
:
2
,
prevalidator
:[{
validator
:
"[01]"
,
cardinality
:
1
}]},
y
:{
validator
:
"(19|20)
\\
d{2}"
,
cardinality
:
4
,
prevalidator
:[{
validator
:
"[12]"
,
leapday
:
"29/02/"
,
separator
:
"/"
,
yearrange
:{
minyear
:
1900
,
maxyear
:
2099
},
isInYearRange
:
function
(
a
,
c
,
g
){
if
(
isNaN
(
a
))
return
!
1
;
var
d
=
parseInt
(
a
.
concat
(
c
.
toString
().
slice
(
a
.
length
)));
a
=
parseInt
(
a
.
concat
(
g
.
toString
().
slice
(
a
.
length
)));
return
(
isNaN
(
d
)?
!
1
:
c
<=
d
&&
d
<=
g
)
||
(
isNaN
(
a
)?
!
1
:
c
<=
a
&&
a
<=
g
)},
determinebaseyear
:
function
(
a
,
c
,
g
){
var
d
=
(
new
Date
).
getFullYear
();
if
(
a
>
d
)
return
a
;
if
(
c
<
d
){
for
(
var
d
=
c
.
toString
().
slice
(
0
,
2
),
b
=
c
.
toString
().
slice
(
2
,
4
);
c
<
d
+
g
;)
d
--
;
c
=
d
+
b
;
return
a
>
c
?
a
:
c
}
return
d
},
onKeyUp
:
function
(
a
,
c
,
g
){
c
=
cardinality
:
1
},{
validator
:
"(19|20)"
,
cardinality
:
2
},{
validator
:
"(19|20)
\\
d"
,
cardinality
:
3
}]}});
e
.
extend
(
e
.
inputmask
.
defaults
.
aliases
,{
"dd/mm/yyyy"
:{
mask
:
"1/2/y"
,
placeholder
:
"dd/mm/yyyy"
,
regex
:{
val1pre
:
/
[
0-3
]
/
,
val1
:
/0
[
1-9
]
|
[
12
][
0-9
]
|3
[
01
]
/
,
val2pre
:
function
(
a
){
a
=
e
.
inputmask
.
escapeRegex
.
call
(
this
,
a
);
return
RegExp
(
"((0[1-9]|[12][0-9]|3[01])"
+
a
+
"[01])"
)},
val2
:
function
(
a
){
a
=
e
.
inputmask
.
escapeRegex
.
call
(
this
,
a
);
return
RegExp
(
"((0[1-9]|[12][0-9])"
+
a
+
"(0[1-9]|1[012]))|(30"
+
a
+
"(0[13-9]|1[012]))|(31"
+
a
+
"(0[13578]|1[02]))"
)}},
d
(
this
);
a
.
ctrlKey
&&
a
.
keyCode
==
g
.
keyCode
.
RIGHT
&&
(
a
=
new
Date
,
c
.
val
(
a
.
getDate
().
toString
()
+
(
a
.
getMonth
()
+
1
).
toString
()
+
a
.
getFullYear
().
toString
()))},
definitions
:{
1
:{
validator
:
function
(
a
,
c
,
g
,
d
,
b
){
var
e
=
b
.
regex
.
val1
.
test
(
a
);
return
d
||
e
||
a
.
charAt
(
1
)
!=
b
.
separator
&&-
1
==
"-./"
.
indexOf
(
a
.
charAt
(
1
))
||!
(
e
=
b
.
regex
.
val1
.
test
(
"0"
+
a
.
charAt
(
0
)))?
e
:(
c
[
g
-
1
]
=
"0"
,{
refreshFromBuffer
:{
start
:
g
-
1
,
end
:
g
},
pos
:
g
,
c
:
a
.
charAt
(
0
)})},
cardinality
:
2
,
prevalidator
:[{
validator
:
function
(
a
,
c
,
g
,
d
,
b
){
isNaN
(
c
[
g
+
1
])
||
(
a
+=
c
[
g
+
1
]);
var
e
=
1
==
a
.
length
?
leapday
:
"29/02/"
,
separator
:
"/"
,
yearrange
:{
minyear
:
1900
,
maxyear
:
2099
},
isInYearRange
:
function
(
a
,
b
,
c
){
if
(
isNaN
(
a
))
return
!
1
;
var
g
=
parseInt
(
a
.
concat
(
b
.
toString
().
slice
(
a
.
length
)));
a
=
parseInt
(
a
.
concat
(
c
.
toString
().
slice
(
a
.
length
)));
return
(
isNaN
(
g
)?
!
1
:
b
<=
g
&&
g
<=
c
)
||
(
isNaN
(
a
)?
!
1
:
b
<=
a
&&
a
<=
c
)},
determinebaseyear
:
function
(
a
,
b
,
c
){
var
g
=
(
new
Date
).
getFullYear
();
if
(
a
>
g
)
return
a
;
if
(
b
<
g
){
for
(
var
g
=
b
.
toString
().
slice
(
0
,
2
),
d
=
b
.
toString
().
slice
(
2
,
4
);
b
<
g
+
c
;)
g
--
;
b
=
g
+
d
;
return
a
>
b
?
a
:
b
}
return
g
},
onKeyUp
:
function
(
a
,
b
,
c
,
g
){
b
=
b
.
regex
.
val1pre
.
test
(
a
):
b
.
regex
.
val1
.
test
(
a
);
return
d
||
e
||!
(
e
=
b
.
regex
.
val1
.
test
(
"0"
+
a
))?
e
:(
c
[
g
]
=
"0"
,
g
++
,{
pos
:
g
})},
cardinality
:
1
}]},
2
:{
validator
:
function
(
a
,
c
,
g
,
d
,
b
){
var
e
=
b
.
mask
.
indexOf
(
"2"
)
==
b
.
mask
.
length
-
1
?
c
.
join
(
""
).
substr
(
5
,
3
):
c
.
join
(
""
).
substr
(
0
,
3
);
-
1
!=
e
.
indexOf
(
b
.
placeholder
[
0
])
&&
(
e
=
"01"
+
b
.
separator
);
var
l
=
b
.
regex
.
val2
(
b
.
separator
).
test
(
e
+
a
);
if
(
!
(
d
||
l
||
a
.
charAt
(
1
)
!=
b
.
separator
&&-
1
==
"-./"
.
indexOf
(
a
.
charAt
(
1
)))
&&
(
l
=
b
.
regex
.
val2
(
b
.
separator
).
test
(
e
+
"0"
+
a
.
charAt
(
0
))))
return
c
[
g
-
1
]
=
"0"
,{
refreshFromBuffer
:{
start
:
g
-
e
(
this
);
a
.
ctrlKey
&&
a
.
keyCode
==
g
.
keyCode
.
RIGHT
&&
(
a
=
new
Date
,
b
.
val
(
a
.
getDate
().
toString
()
+
(
a
.
getMonth
()
+
1
).
toString
()
+
a
.
getFullYear
().
toString
()))},
definitions
:{
1
:{
validator
:
function
(
a
,
b
,
c
,
g
,
d
){
var
e
=
d
.
regex
.
val1
.
test
(
a
);
return
g
||
e
||
a
.
charAt
(
1
)
!=
d
.
separator
&&-
1
==
"-./"
.
indexOf
(
a
.
charAt
(
1
))
||!
(
e
=
d
.
regex
.
val1
.
test
(
"0"
+
a
.
charAt
(
0
)))?
e
:(
b
.
buffer
[
c
-
1
]
=
"0"
,{
refreshFromBuffer
:{
start
:
c
-
1
,
end
:
c
},
pos
:
c
,
c
:
a
.
charAt
(
0
)})},
cardinality
:
2
,
prevalidator
:[{
validator
:
function
(
a
,
b
,
c
,
g
,
d
){
isNaN
(
b
.
buffer
[
c
+
1
])
||
(
a
+=
b
.
buffer
[
c
+
1
,
end
:
g
},
pos
:
g
,
c
:
a
.
charAt
(
0
)};
if
(
b
.
mask
.
indexOf
(
"2"
)
==
b
.
mask
.
length
-
1
&&
l
){
if
(
c
.
join
(
""
).
substr
(
4
,
4
)
+
a
!=
b
.
leapday
)
return
!
0
;
a
=
parseInt
(
c
.
join
(
""
).
substr
(
0
,
4
),
10
);
return
0
===
a
%
4
?
0
===
a
%
100
?
0
===
a
%
400
?
!
0
:
!
1
:
!
0
:
!
1
}
return
l
},
cardinality
:
2
,
prevalidator
:[{
validator
:
function
(
a
,
c
,
d
,
h
,
b
){
isNaN
(
c
[
d
+
1
])
||
(
a
+=
c
[
d
+
1
]);
var
e
=
b
.
mask
.
indexOf
(
"2"
)
==
b
.
mask
.
length
-
1
?
c
.
join
(
""
).
substr
(
5
,
3
):
c
.
join
(
""
).
substr
(
0
,
3
);
-
1
!=
e
.
indexOf
(
b
.
placeholder
[
0
])
&&
(
e
=
"01"
+
b
.
separator
);
var
l
=
1
==
a
.
length
?
b
.
regex
.
val2pre
(
b
.
separator
).
test
(
e
+
a
):
1
]);
var
e
=
1
==
a
.
length
?
d
.
regex
.
val1pre
.
test
(
a
):
d
.
regex
.
val1
.
test
(
a
);
return
g
||
e
||!
(
e
=
d
.
regex
.
val1
.
test
(
"0"
+
a
))?
e
:(
b
.
buffer
[
c
]
=
"0"
,
c
++
,{
pos
:
c
})},
cardinality
:
1
}]},
2
:{
validator
:
function
(
a
,
b
,
c
,
e
,
d
){
var
h
=
d
.
mask
.
indexOf
(
"2"
)
==
d
.
mask
.
length
-
1
?
b
.
buffer
.
join
(
""
).
substr
(
5
,
3
):
b
.
buffer
.
join
(
""
).
substr
(
0
,
3
);
-
1
!=
h
.
indexOf
(
d
.
placeholder
[
0
])
&&
(
h
=
"01"
+
d
.
separator
);
var
n
=
d
.
regex
.
val2
(
d
.
separator
).
test
(
h
+
a
);
if
(
!
(
e
||
n
||
a
.
charAt
(
1
)
!=
d
.
separator
&&-
1
==
"-./"
.
indexOf
(
a
.
charAt
(
1
)))
&&
(
n
=
d
.
regex
.
val2
(
d
.
separator
).
test
(
h
+
"0"
+
b
.
regex
.
val2
(
b
.
separator
).
test
(
e
+
a
);
return
h
||
l
||!
(
l
=
b
.
regex
.
val2
(
b
.
separator
).
test
(
e
+
"0"
+
a
))?
l
:(
c
[
d
]
=
"0"
,
d
++
,{
pos
:
d
})},
cardinality
:
1
}]},
y
:{
validator
:
function
(
a
,
c
,
d
,
h
,
b
){
if
(
b
.
isInYearRange
(
a
,
b
.
yearrange
.
minyear
,
b
.
yearrange
.
maxyear
)){
if
(
c
.
join
(
""
).
substr
(
0
,
6
)
!=
b
.
leapday
)
return
!
0
;
a
=
parseInt
(
a
,
10
);
return
0
===
a
%
4
?
0
===
a
%
100
?
0
===
a
%
400
?
!
0
:
!
1
:
!
0
:
!
1
}
return
!
1
},
cardinality
:
4
,
prevalidator
:[{
validator
:
function
(
a
,
c
,
d
,
h
,
b
){
var
e
=
b
.
isInYearRange
(
a
,
b
.
yearrange
.
minyear
,
b
.
yearrange
.
maxyear
);
if
(
!
h
&&!
e
){
h
=
b
.
determinebaseyear
(
b
.
yearrange
.
minyear
,
a
.
charAt
(
0
))))
return
b
.
buffer
[
c
-
1
]
=
"0"
,{
refreshFromBuffer
:{
start
:
c
-
1
,
end
:
c
},
pos
:
c
,
c
:
a
.
charAt
(
0
)};
if
(
d
.
mask
.
indexOf
(
"2"
)
==
d
.
mask
.
length
-
1
&&
n
){
if
(
b
.
buffer
.
join
(
""
).
substr
(
4
,
4
)
+
a
!=
d
.
leapday
)
return
!
0
;
a
=
parseInt
(
b
.
buffer
.
join
(
""
).
substr
(
0
,
4
),
10
);
return
0
===
a
%
4
?
0
===
a
%
100
?
0
===
a
%
400
?
!
0
:
!
1
:
!
0
:
!
1
}
return
n
},
cardinality
:
2
,
prevalidator
:[{
validator
:
function
(
a
,
b
,
c
,
e
,
d
){
isNaN
(
b
.
buffer
[
c
+
1
])
||
(
a
+=
b
.
buffer
[
c
+
1
]);
var
h
=
d
.
mask
.
indexOf
(
"2"
)
==
d
.
mask
.
length
-
1
?
b
.
buffer
.
join
(
""
).
substr
(
5
,
3
):
b
.
buffer
.
join
(
""
).
substr
(
0
,
3
);
b
.
yearrange
.
maxyear
,
a
+
"0"
).
toString
().
slice
(
0
,
1
);
if
(
e
=
b
.
isInYearRange
(
h
+
a
,
b
.
yearrange
.
minyear
,
b
.
yearrange
.
maxyear
))
return
c
[
d
++
]
=
h
[
0
],{
pos
:
d
};
h
=
b
.
determinebaseyear
(
b
.
yearrange
.
minyear
,
b
.
yearrange
.
maxyear
,
a
+
"0"
).
toString
().
slice
(
0
,
2
);
if
(
e
=
b
.
isInYearRange
(
h
+
a
,
b
.
yearrange
.
minyear
,
b
.
yearrange
.
maxyear
))
return
c
[
d
++
]
=
h
[
0
],
c
[
d
++
]
=
h
[
1
],{
pos
:
d
}}
return
e
},
cardinality
:
1
},{
validator
:
function
(
a
,
c
,
d
,
h
,
b
){
var
e
=
b
.
isInYearRange
(
a
,
b
.
yearrange
.
minyear
,
b
.
yearrange
.
maxyear
);
if
(
!
h
&&!
e
){
h
=
b
.
determinebaseyear
(
b
.
yearrange
.
minyear
,
-
1
!=
h
.
indexOf
(
d
.
placeholder
[
0
])
&&
(
h
=
"01"
+
d
.
separator
);
var
n
=
1
==
a
.
length
?
d
.
regex
.
val2pre
(
d
.
separator
).
test
(
h
+
a
):
d
.
regex
.
val2
(
d
.
separator
).
test
(
h
+
a
);
return
e
||
n
||!
(
n
=
d
.
regex
.
val2
(
d
.
separator
).
test
(
h
+
"0"
+
a
))?
n
:(
b
.
buffer
[
c
]
=
"0"
,
c
++
,{
pos
:
c
})},
cardinality
:
1
}]},
y
:{
validator
:
function
(
a
,
b
,
c
,
e
,
d
){
if
(
d
.
isInYearRange
(
a
,
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
)){
if
(
b
.
buffer
.
join
(
""
).
substr
(
0
,
6
)
!=
d
.
leapday
)
return
!
0
;
a
=
parseInt
(
a
,
10
);
return
0
===
a
%
4
?
0
===
a
%
100
?
0
===
a
%
400
?
!
0
:
!
1
:
!
0
:
!
1
}
return
!
1
},
cardinality
:
4
,
prevalidator
:[{
validator
:
function
(
a
,
b
.
yearrange
.
maxyear
,
a
).
toString
().
slice
(
0
,
2
);
if
(
e
=
b
.
isInYearRange
(
a
[
0
]
+
h
[
1
]
+
a
[
1
],
b
.
yearrange
.
minyear
,
b
.
yearrange
.
maxyear
))
return
c
[
d
++
]
=
h
[
1
],{
pos
:
d
};
h
=
b
.
determinebaseyear
(
b
.
yearrange
.
minyear
,
b
.
yearrange
.
maxyear
,
a
).
toString
().
slice
(
0
,
2
);
b
.
isInYearRange
(
h
+
a
,
b
.
yearrange
.
minyear
,
b
.
yearrange
.
maxyear
)?
c
.
join
(
""
).
substr
(
0
,
6
)
!=
b
.
leapday
?
e
=!
0
:(
b
=
parseInt
(
a
,
10
),
e
=
0
===
b
%
4
?
0
===
b
%
100
?
0
===
b
%
400
?
!
0
:
!
1
:
!
0
:
!
1
):
e
=!
1
;
if
(
e
)
return
c
[
d
-
1
]
=
h
[
0
],
c
[
d
++
]
=
h
[
1
],
c
[
d
++
]
=
a
[
0
],{
refreshFromBuffer
:{
start
:
d
-
3
,
end
:
d
},
pos
:
d
}}
return
e
},
b
,
c
,
e
,
d
){
var
h
=
d
.
isInYearRange
(
a
,
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
);
if
(
!
e
&&!
h
){
e
=
d
.
determinebaseyear
(
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
,
a
+
"0"
).
toString
().
slice
(
0
,
1
);
if
(
h
=
d
.
isInYearRange
(
e
+
a
,
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
))
return
b
.
buffer
[
c
++
]
=
e
[
0
],{
pos
:
c
};
e
=
d
.
determinebaseyear
(
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
,
a
+
"0"
).
toString
().
slice
(
0
,
2
);
if
(
h
=
d
.
isInYearRange
(
e
+
a
,
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
))
return
b
.
buffer
[
c
++
]
=
e
[
0
],
b
.
buffer
[
c
++
]
=
e
[
1
],{
pos
:
c
}}
return
h
},
cardinality
:
1
},
cardinality
:
2
},{
validator
:
function
(
a
,
c
,
d
,
h
,
b
){
return
b
.
isInYearRange
(
a
,
b
.
yearrange
.
minyear
,
b
.
yearrange
.
maxyear
)},
cardinality
:
3
}]}},
insertMode
:
!
1
,
autoUnmask
:
!
1
},
"mm/dd/yyyy"
:{
placeholder
:
"mm/dd/yyyy"
,
alias
:
"dd/mm/yyyy"
,
regex
:{
val2pre
:
function
(
a
){
a
=
d
.
inputmask
.
escapeRegex
.
call
(
this
,
a
);
return
RegExp
(
"((0[13-9]|1[012])"
+
a
+
"[0-3])|(02"
+
a
+
"[0-2])"
)},
val2
:
function
(
a
){
a
=
d
.
inputmask
.
escapeRegex
.
call
(
this
,
a
);
return
RegExp
(
"((0[1-9]|1[012])"
+
a
+
"(0[1-9]|[12][0-9]))|((0[13-9]|1[012])"
+
a
+
"30)|((0[13578]|1[02])"
+
{
validator
:
function
(
a
,
b
,
c
,
e
,
d
){
var
h
=
d
.
isInYearRange
(
a
,
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
);
if
(
!
e
&&!
h
){
e
=
d
.
determinebaseyear
(
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
,
a
).
toString
().
slice
(
0
,
2
);
if
(
h
=
d
.
isInYearRange
(
a
[
0
]
+
e
[
1
]
+
a
[
1
],
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
))
return
b
.
buffer
[
c
++
]
=
e
[
1
],{
pos
:
c
};
e
=
d
.
determinebaseyear
(
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
,
a
).
toString
().
slice
(
0
,
2
);
d
.
isInYearRange
(
e
+
a
,
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
)?
b
.
buffer
.
join
(
""
).
substr
(
0
,
6
)
!=
d
.
leapday
?
h
=!
0
:(
d
=
a
+
"31)"
)},
val1pre
:
/
[
01
]
/
,
val1
:
/0
[
1-9
]
|1
[
012
]
/
},
leapday
:
"02/29/"
,
onKeyUp
:
function
(
a
,
c
,
g
){
c
=
d
(
this
);
a
.
ctrlKey
&&
a
.
keyCode
==
g
.
keyCode
.
RIGHT
&&
(
a
=
new
Date
,
c
.
val
((
a
.
getMonth
()
+
1
).
toString
()
+
a
.
getDate
().
toString
()
+
a
.
getFullYear
().
toString
()))}},
"yyyy/mm/dd"
:{
mask
:
"y/1/2"
,
placeholder
:
"yyyy/mm/dd"
,
alias
:
"mm/dd/yyyy"
,
leapday
:
"/02/29"
,
onKeyUp
:
function
(
a
,
c
,
g
){
c
=
d
(
this
);
a
.
ctrlKey
&&
a
.
keyCode
==
g
.
keyCode
.
RIGHT
&&
(
a
=
new
Date
,
c
.
val
(
a
.
getFullYear
().
toString
()
+
(
a
.
getMonth
()
+
1
).
toString
()
+
a
.
getDate
().
toString
()))}},
"dd.mm.yyyy"
:{
mask
:
"1.2.y"
,
parseInt
(
a
,
10
),
h
=
0
===
d
%
4
?
0
===
d
%
100
?
0
===
d
%
400
?
!
0
:
!
1
:
!
0
:
!
1
):
h
=!
1
;
if
(
h
)
return
b
.
buffer
[
c
-
1
]
=
e
[
0
],
b
.
buffer
[
c
++
]
=
e
[
1
],
b
.
buffer
[
c
++
]
=
a
[
0
],{
refreshFromBuffer
:{
start
:
c
-
3
,
end
:
c
},
pos
:
c
}}
return
h
},
cardinality
:
2
},{
validator
:
function
(
a
,
b
,
c
,
e
,
d
){
return
d
.
isInYearRange
(
a
,
d
.
yearrange
.
minyear
,
d
.
yearrange
.
maxyear
)},
cardinality
:
3
}]}},
insertMode
:
!
1
,
autoUnmask
:
!
1
},
"mm/dd/yyyy"
:{
placeholder
:
"mm/dd/yyyy"
,
alias
:
"dd/mm/yyyy"
,
regex
:{
val2pre
:
function
(
a
){
a
=
e
.
inputmask
.
escapeRegex
.
call
(
this
,
a
);
return
RegExp
(
"((0[13-9]|1[012])"
+
placeholder
:
"dd.mm.yyyy"
,
leapday
:
"29.02."
,
separator
:
"."
,
alias
:
"dd/mm/yyyy"
},
"dd-mm-yyyy"
:{
mask
:
"1-2-y"
,
placeholder
:
"dd-mm-yyyy"
,
leapday
:
"29-02-"
,
separator
:
"-"
,
alias
:
"dd/mm/yyyy"
},
"mm.dd.yyyy"
:{
mask
:
"1.2.y"
,
placeholder
:
"mm.dd.yyyy"
,
leapday
:
"02.29."
,
separator
:
"."
,
alias
:
"mm/dd/yyyy"
},
"mm-dd-yyyy"
:{
mask
:
"1-2-y"
,
placeholder
:
"mm-dd-yyyy"
,
leapday
:
"02-29-"
,
separator
:
"-"
,
alias
:
"mm/dd/yyyy"
},
"yyyy.mm.dd"
:{
mask
:
"y.1.2"
,
placeholder
:
"yyyy.mm.dd"
,
leapday
:
".02.29"
,
separator
:
"."
,
alias
:
"yyyy/mm/dd"
},
"yyyy-mm-dd"
:{
mask
:
"y-1-2"
,
a
+
"[0-3])|(02"
+
a
+
"[0-2])"
)},
val2
:
function
(
a
){
a
=
e
.
inputmask
.
escapeRegex
.
call
(
this
,
a
);
return
RegExp
(
"((0[1-9]|1[012])"
+
a
+
"(0[1-9]|[12][0-9]))|((0[13-9]|1[012])"
+
a
+
"30)|((0[13578]|1[02])"
+
a
+
"31)"
)},
val1pre
:
/
[
01
]
/
,
val1
:
/0
[
1-9
]
|1
[
012
]
/
},
leapday
:
"02/29/"
,
onKeyUp
:
function
(
a
,
b
,
c
,
g
){
b
=
e
(
this
);
a
.
ctrlKey
&&
a
.
keyCode
==
g
.
keyCode
.
RIGHT
&&
(
a
=
new
Date
,
b
.
val
((
a
.
getMonth
()
+
1
).
toString
()
+
a
.
getDate
().
toString
()
+
a
.
getFullYear
().
toString
()))}},
"yyyy/mm/dd"
:{
mask
:
"y/1/2"
,
placeholder
:
"yyyy/mm/dd"
,
alias
:
"mm/dd/yyyy"
,
leapday
:
"/02/29"
,
placeholder
:
"yyyy-mm-dd"
,
leapday
:
"-02-29"
,
separator
:
"-"
,
alias
:
"yyyy/mm/dd"
},
datetime
:{
mask
:
"1/2/y h:s"
,
placeholder
:
"dd/mm/yyyy hh:mm"
,
alias
:
"dd/mm/yyyy"
,
regex
:{
hrspre
:
/
[
012
]
/
,
hrs24
:
/2
[
0-4
]
|1
[
3-9
]
/
,
hrs
:
/
[
01
][
0-9
]
|2
[
0-4
]
/
,
ampm
:
/^
[
a|p|A|P
][
m|M
]
/
},
timeseparator
:
":"
,
hourFormat
:
"24"
,
definitions
:{
h
:{
validator
:
function
(
a
,
c
,
d
,
h
,
b
){
if
(
"24"
==
b
.
hourFormat
&&
24
==
parseInt
(
a
,
10
))
return
c
[
d
-
1
]
=
"0"
,
c
[
d
]
=
"0"
,{
refreshFromBuffer
:{
start
:
d
-
1
,
end
:
d
},
c
:
"0"
};
var
e
=
b
.
regex
.
hrs
.
test
(
a
);
return
h
||
e
||
a
.
charAt
(
1
)
!=
b
.
timeseparator
&&
onKeyUp
:
function
(
a
,
b
,
c
,
g
){
b
=
e
(
this
);
a
.
ctrlKey
&&
a
.
keyCode
==
g
.
keyCode
.
RIGHT
&&
(
a
=
new
Date
,
b
.
val
(
a
.
getFullYear
().
toString
()
+
(
a
.
getMonth
()
+
1
).
toString
()
+
a
.
getDate
().
toString
()))}},
"dd.mm.yyyy"
:{
mask
:
"1.2.y"
,
placeholder
:
"dd.mm.yyyy"
,
leapday
:
"29.02."
,
separator
:
"."
,
alias
:
"dd/mm/yyyy"
},
"dd-mm-yyyy"
:{
mask
:
"1-2-y"
,
placeholder
:
"dd-mm-yyyy"
,
leapday
:
"29-02-"
,
separator
:
"-"
,
alias
:
"dd/mm/yyyy"
},
"mm.dd.yyyy"
:{
mask
:
"1.2.y"
,
placeholder
:
"mm.dd.yyyy"
,
leapday
:
"02.29."
,
separator
:
"."
,
alias
:
"mm/dd/yyyy"
},
"mm-dd-yyyy"
:{
mask
:
"1-2-y"
,
-
1
==
"-.:"
.
indexOf
(
a
.
charAt
(
1
))
||!
(
e
=
b
.
regex
.
hrs
.
test
(
"0"
+
a
.
charAt
(
0
)))?
e
&&
"24"
!==
b
.
hourFormat
&&
b
.
regex
.
hrs24
.
test
(
a
)?(
a
=
parseInt
(
a
,
10
),
c
[
d
+
5
]
=
24
==
a
?
"a"
:
"p"
,
c
[
d
+
6
]
=
"m"
,
a
-=
12
,
10
>
a
?(
c
[
d
]
=
a
.
toString
(),
c
[
d
-
1
]
=
"0"
):(
c
[
d
]
=
a
.
toString
().
charAt
(
1
),
c
[
d
-
1
]
=
a
.
toString
().
charAt
(
0
)),{
refreshFromBuffer
:{
start
:
d
-
1
,
end
:
d
+
6
},
c
:
c
[
d
]}):
e
:(
c
[
d
-
1
]
=
"0"
,
c
[
d
]
=
a
.
charAt
(
0
),
d
++
,{
refreshFromBuffer
:{
start
:
d
-
2
,
end
:
d
},
pos
:
d
,
c
:
b
.
timeseparator
})},
cardinality
:
2
,
prevalidator
:[{
validator
:
function
(
a
,
c
,
d
,
h
,
b
){
var
e
=
b
.
regex
.
hrspre
.
test
(
a
);
placeholder
:
"mm-dd-yyyy"
,
leapday
:
"02-29-"
,
separator
:
"-"
,
alias
:
"mm/dd/yyyy"
},
"yyyy.mm.dd"
:{
mask
:
"y.1.2"
,
placeholder
:
"yyyy.mm.dd"
,
leapday
:
".02.29"
,
separator
:
"."
,
alias
:
"yyyy/mm/dd"
},
"yyyy-mm-dd"
:{
mask
:
"y-1-2"
,
placeholder
:
"yyyy-mm-dd"
,
leapday
:
"-02-29"
,
separator
:
"-"
,
alias
:
"yyyy/mm/dd"
},
datetime
:{
mask
:
"1/2/y h:s"
,
placeholder
:
"dd/mm/yyyy hh:mm"
,
alias
:
"dd/mm/yyyy"
,
regex
:{
hrspre
:
/
[
012
]
/
,
hrs24
:
/2
[
0-4
]
|1
[
3-9
]
/
,
hrs
:
/
[
01
][
0-9
]
|2
[
0-4
]
/
,
ampm
:
/^
[
a|p|A|P
][
m|M
]
/
},
timeseparator
:
":"
,
hourFormat
:
"24"
,
definitions
:{
h
:{
validator
:
function
(
a
,
return
h
||
e
||!
(
e
=
b
.
regex
.
hrs
.
test
(
"0"
+
a
))?
e
:(
c
[
d
]
=
"0"
,
d
++
,{
pos
:
d
})},
cardinality
:
1
}]},
t
:{
validator
:
function
(
a
,
c
,
d
,
h
,
b
){
return
b
.
regex
.
ampm
.
test
(
a
+
"m"
)},
casing
:
"lower"
,
cardinality
:
1
}},
insertMode
:
!
1
,
autoUnmask
:
!
1
},
datetime12
:{
mask
:
"1/2/y h:s t
\\
m"
,
placeholder
:
"dd/mm/yyyy hh:mm xm"
,
alias
:
"datetime"
,
hourFormat
:
"12"
},
"hh:mm t"
:{
mask
:
"h:s t
\\
m"
,
placeholder
:
"hh:mm xm"
,
alias
:
"datetime"
,
hourFormat
:
"12"
},
"h:s t"
:{
mask
:
"h:s t
\\
m"
,
placeholder
:
"hh:mm xm"
,
alias
:
"datetime"
,
hourFormat
:
"12"
},
"hh:mm:ss"
:{
mask
:
"h:s:s"
,
b
,
c
,
e
,
d
){
if
(
"24"
==
d
.
hourFormat
&&
24
==
parseInt
(
a
,
10
))
return
b
.
buffer
[
c
-
1
]
=
"0"
,
b
.
buffer
[
c
]
=
"0"
,{
refreshFromBuffer
:{
start
:
c
-
1
,
end
:
c
},
c
:
"0"
};
var
h
=
d
.
regex
.
hrs
.
test
(
a
);
return
e
||
h
||
a
.
charAt
(
1
)
!=
d
.
timeseparator
&&-
1
==
"-.:"
.
indexOf
(
a
.
charAt
(
1
))
||!
(
h
=
d
.
regex
.
hrs
.
test
(
"0"
+
a
.
charAt
(
0
)))?
h
&&
"24"
!==
d
.
hourFormat
&&
d
.
regex
.
hrs24
.
test
(
a
)?(
a
=
parseInt
(
a
,
10
),
b
.
buffer
[
c
+
5
]
=
24
==
a
?
"a"
:
"p"
,
b
.
buffer
[
c
+
6
]
=
"m"
,
a
-=
12
,
10
>
a
?(
b
.
buffer
[
c
]
=
a
.
toString
(),
b
.
buffer
[
c
-
1
]
=
"0"
):(
b
.
buffer
[
c
]
=
a
.
toString
().
charAt
(
1
),
b
.
buffer
[
c
-
1
]
=
a
.
toString
().
charAt
(
0
)),
autoUnmask
:
!
1
},
"hh:mm"
:{
mask
:
"h:s"
,
autoUnmask
:
!
1
},
date
:{
alias
:
"dd/mm/yyyy"
},
"mm/yyyy"
:{
mask
:
"1/y"
,
placeholder
:
"mm/yyyy"
,
leapday
:
"donotuse"
,
separator
:
"/"
,
alias
:
"mm/dd/yyyy"
}})})(
jQuery
);
{
refreshFromBuffer
:{
start
:
c
-
1
,
end
:
c
+
6
},
c
:
b
.
buffer
[
c
]}):
h
:(
b
.
buffer
[
c
-
1
]
=
"0"
,
b
.
buffer
[
c
]
=
a
.
charAt
(
0
),
c
++
,{
refreshFromBuffer
:{
start
:
c
-
2
,
end
:
c
},
pos
:
c
,
c
:
d
.
timeseparator
})},
cardinality
:
2
,
prevalidator
:[{
validator
:
function
(
a
,
b
,
c
,
e
,
d
){
var
h
=
d
.
regex
.
hrspre
.
test
(
a
);
return
e
||
h
||!
(
h
=
d
.
regex
.
hrs
.
test
(
"0"
+
a
))?
h
:(
b
.
buffer
[
c
]
=
"0"
,
c
++
,{
pos
:
c
})},
cardinality
:
1
}]},
t
:{
validator
:
function
(
a
,
b
,
c
,
e
,
d
){
return
d
.
regex
.
ampm
.
test
(
a
+
"m"
)},
casing
:
"lower"
,
cardinality
:
1
}},
insertMode
:
!
1
,
autoUnmask
:
!
1
},
datetime12
:{
mask
:
"1/2/y h:s t
\\
m"
,
(
function
(
d
){
d
.
extend
(
d
.
inputmask
.
defaults
.
aliases
,{
numeric
:{
mask
:
function
(
a
){
0
!==
a
.
repeat
&&
isNaN
(
a
.
integerDigits
)
&&
(
a
.
integerDigits
=
a
.
repeat
);
a
.
repeat
=
0
;
a
.
autoGroup
=
a
.
autoGroup
&&
""
!=
a
.
groupSeparator
;
if
(
a
.
autoGroup
&&
isFinite
(
a
.
integerDigits
)){
var
c
=
Math
.
floor
(
a
.
integerDigits
/
a
.
groupSize
);
a
.
integerDigits
+=
0
==
a
.
integerDigits
%
a
.
groupSize
?
c
-
1
:
c
}
c
=
a
.
prefix
;
c
=
c
+
"[+]"
+
(
"~{1,"
+
a
.
integerDigits
+
"}"
);
void
0
!=
a
.
digits
&&
(
isNaN
(
a
.
digits
)
||
0
<
parseInt
(
a
.
digits
))
&&
(
c
=
a
.
digitsOptional
?
c
+
(
"["
+
a
.
radixPoint
+
"~{"
+
a
.
digits
+
placeholder
:
"dd/mm/yyyy hh:mm xm"
,
alias
:
"datetime"
,
hourFormat
:
"12"
},
"hh:mm t"
:{
mask
:
"h:s t
\\
m"
,
placeholder
:
"hh:mm xm"
,
alias
:
"datetime"
,
hourFormat
:
"12"
},
"h:s t"
:{
mask
:
"h:s t
\\
m"
,
placeholder
:
"hh:mm xm"
,
alias
:
"datetime"
,
hourFormat
:
"12"
},
"hh:mm:ss"
:{
mask
:
"h:s:s"
,
autoUnmask
:
!
1
},
"hh:mm"
:{
mask
:
"h:s"
,
autoUnmask
:
!
1
},
date
:{
alias
:
"dd/mm/yyyy"
},
"mm/yyyy"
:{
mask
:
"1/y"
,
placeholder
:
"mm/yyyy"
,
leapday
:
"donotuse"
,
separator
:
"/"
,
alias
:
"mm/dd/yyyy"
}})})(
jQuery
);
"}]"
):
c
+
(
a
.
radixPoint
+
"~{"
+
a
.
digits
+
"}"
));
return
c
+=
a
.
suffix
},
placeholder
:
""
,
greedy
:
!
1
,
digits
:
"*"
,
digitsOptional
:
!
0
,
groupSeparator
:
""
,
radixPoint
:
"."
,
groupSize
:
3
,
autoGroup
:
!
1
,
allowPlus
:
!
0
,
allowMinus
:
!
0
,
integerDigits
:
"+"
,
prefix
:
""
,
suffix
:
""
,
skipRadixDance
:
!
1
,
getLastValidPosition
:
function
(
a
,
c
,
g
){
var
h
=-
1
,
b
=
a
.
validPositions
,
e
;
for
(
e
in
b
)
b
=
parseInt
(
e
),
b
>
h
&&
(
h
=
b
);
void
0
!=
c
&&
(
a
=
a
.
buffer
,
!
1
===
g
.
skipRadixDance
&&
""
!=
g
.
radixPoint
&&-
1
!=
d
.
inArray
(
g
.
radixPoint
,
a
)
&&
(
h
=
d
.
inArray
(
g
.
radixPoint
,
a
)));
return
h
},
rightAlign
:
!
0
,
(
function
(
e
){
e
.
extend
(
e
.
inputmask
.
defaults
.
aliases
,{
numeric
:{
mask
:
function
(
a
){
0
!==
a
.
repeat
&&
isNaN
(
a
.
integerDigits
)
&&
(
a
.
integerDigits
=
a
.
repeat
);
a
.
repeat
=
0
;
a
.
autoGroup
=
a
.
autoGroup
&&
""
!=
a
.
groupSeparator
;
if
(
a
.
autoGroup
&&
isFinite
(
a
.
integerDigits
)){
var
b
=
Math
.
floor
(
a
.
integerDigits
/
a
.
groupSize
);
a
.
integerDigits
+=
0
==
a
.
integerDigits
%
a
.
groupSize
?
b
-
1
:
b
}
a
.
definitions
[
":"
].
placeholder
=
a
.
radixPoint
;
b
=
a
.
prefix
;
b
=
b
+
"[+]"
+
(
"~{1,"
+
a
.
integerDigits
+
"}"
);
void
0
!=
a
.
digits
&&
(
isNaN
(
a
.
digits
)
||
0
<
parseInt
(
a
.
digits
))
&&
(
b
=
a
.
digitsOptional
?
postFormat
:
function
(
a
,
c
,
g
,
h
){
var
b
=!
1
;
if
(
""
==
h
.
groupSeparator
||-
1
!=
d
.
inArray
(
h
.
radixPoint
,
a
)
&&
c
>=
d
.
inArray
(
h
.
radixPoint
,
a
))
return
{
pos
:
c
};
var
e
=
a
.
slice
();
g
||
e
.
splice
(
c
,
0
,
"?"
);
e
=
e
.
join
(
""
);
if
(
h
.
autoGroup
||
g
&&-
1
!=
e
.
indexOf
(
h
.
groupSeparator
)){
var
l
=
d
.
inputmask
.
escapeRegex
.
call
(
this
,
h
.
groupSeparator
),
e
=
e
.
replace
(
RegExp
(
l
,
"g"
),
""
),
l
=
e
.
split
(
h
.
radixPoint
),
e
=
l
[
0
];
if
(
e
!=
h
.
prefix
+
"?0"
)
for
(
var
b
=!
0
,
w
=
RegExp
(
"([-+]?[
\\
d?]+)([
\\
d?]{"
+
h
.
groupSize
+
"})"
);
w
.
test
(
e
);)
e
=
e
.
replace
(
w
,
"$1"
+
h
.
groupSeparator
+
"$2"
),
e
=
e
.
replace
(
h
.
groupSeparator
+
b
+
(
"[:~{"
+
a
.
digits
+
"}]"
):
b
+
(
":~{"
+
a
.
digits
+
"}"
));
return
b
+=
a
.
suffix
},
placeholder
:
""
,
greedy
:
!
1
,
digits
:
"*"
,
digitsOptional
:
!
0
,
groupSeparator
:
""
,
radixPoint
:
"."
,
groupSize
:
3
,
autoGroup
:
!
1
,
allowPlus
:
!
0
,
allowMinus
:
!
0
,
integerDigits
:
"+"
,
prefix
:
""
,
suffix
:
""
,
rightAlign
:
!
0
,
postFormat
:
function
(
a
,
b
,
c
,
g
){
var
d
=!
1
,
h
=
a
[
b
];
if
(
""
==
g
.
groupSeparator
||-
1
!=
e
.
inArray
(
g
.
radixPoint
,
a
)
&&
b
>=
e
.
inArray
(
g
.
radixPoint
,
a
)
||
/
[
-+
]
/
.
test
(
h
))
return
{
pos
:
b
};
var
n
=
a
.
slice
();
h
==
g
.
groupSeparator
&&
(
n
.
splice
(
b
--
,
1
),
h
=
n
[
b
]);
c
?
n
[
b
]
=
"?"
:
n
.
splice
(
b
,
h
.
groupSeparator
,
h
.
groupSeparator
);
1
<
l
.
length
&&
(
e
+=
h
.
radixPoint
+
l
[
1
])}
a
.
length
=
e
.
length
;
h
=
0
;
for
(
l
=
e
.
length
;
h
<
l
;
h
++
)
a
[
h
]
=
e
.
charAt
(
h
);
e
=
d
.
inArray
(
"?"
,
a
);
g
||
a
.
splice
(
e
,
1
);
return
{
pos
:
g
?
c
:
e
,
refreshFromBuffer
:
b
}},
onKeyDown
:
function
(
a
,
c
,
g
){
d
(
this
);
if
(
g
.
autoGroup
&&
a
.
keyCode
==
g
.
keyCode
.
DELETE
||
a
.
keyCode
==
g
.
keyCode
.
BACKSPACE
)
return
g
.
postFormat
(
c
,
0
,
!
0
,
g
)},
regex
:{
integerPart
:
function
(
a
){
return
/
[
-+
]?\d
+/
}},
negationhandler
:
function
(
a
,
c
,
d
,
h
,
b
){
return
!
h
&&
b
.
allowMinus
&&
"-"
===
a
&&
(
a
=
c
.
join
(
""
).
match
(
b
.
regex
.
integerPart
(
b
)),
0
,
"?"
);
b
=
n
.
join
(
""
);
if
(
g
.
autoGroup
||
c
&&-
1
!=
b
.
indexOf
(
g
.
groupSeparator
)){
n
=
e
.
inputmask
.
escapeRegex
.
call
(
this
,
g
.
groupSeparator
);
d
=
0
==
b
.
indexOf
(
g
.
groupSeparator
);
b
=
b
.
replace
(
RegExp
(
n
,
"g"
),
""
);
n
=
b
.
split
(
g
.
radixPoint
);
b
=
n
[
0
];
if
(
b
!=
g
.
prefix
+
"?0"
&&
b
.
length
>
g
.
groupSize
+
g
.
prefix
.
length
)
for
(
var
d
=!
0
,
y
=
RegExp
(
"([-+]?[
\\
d?]+)([
\\
d?]{"
+
g
.
groupSize
+
"})"
);
y
.
test
(
b
);)
b
=
b
.
replace
(
y
,
"$1"
+
g
.
groupSeparator
+
"$2"
),
b
=
b
.
replace
(
g
.
groupSeparator
+
g
.
groupSeparator
,
g
.
groupSeparator
);
1
<
n
.
length
&&
(
b
+=
g
.
radixPoint
+
n
[
1
])}
a
.
length
=
0
<
a
.
length
)?
"+"
==
c
[
a
.
index
]?(
c
.
splice
(
a
.
index
,
1
),{
pos
:
a
.
index
,
c
:
"-"
,
refreshFromBuffer
:
!
0
,
caret
:
d
}):
"-"
==
c
[
a
.
index
]?(
c
.
splice
(
a
.
index
,
1
),{
refreshFromBuffer
:
!
0
,
caret
:
d
-
1
}):{
pos
:
a
.
index
,
c
:
"-"
,
caret
:
d
+
1
}:
!
1
},
definitions
:{
"~"
:{
validator
:
function
(
a
,
c
,
g
,
h
,
b
){
var
e
=
b
.
negationhandler
(
a
,
c
,
g
,
h
,
b
);
if
(
!
e
){
e
=
h
?
RegExp
(
"[0-9"
+
d
.
inputmask
.
escapeRegex
.
call
(
this
,
b
.
groupSeparator
)
+
"]"
).
test
(
a
):
/
[
0-9
]
/
.
test
(
a
);
if
(
!
1
!=
e
){
var
l
=
c
.
join
(
""
).
match
(
b
.
regex
.
integerPart
(
b
)),
w
=
d
.
inArray
(
b
.
radixPoint
,
c
);
if
(
l
&&
"0"
==
l
[
"0"
][
0
]
&&
g
>=
b
.
length
;
g
=
0
;
for
(
n
=
b
.
length
;
g
<
n
;
g
++
)
a
[
g
]
=
b
.
charAt
(
g
);
g
=
e
.
inArray
(
"?"
,
a
);
c
?
a
[
g
]
=
h
:
a
.
splice
(
g
,
1
);
return
{
pos
:
g
,
refreshFromBuffer
:
d
}},
onKeyDown
:
function
(
a
,
b
,
c
,
e
){
if
(
e
.
autoGroup
&&
(
a
.
keyCode
==
e
.
keyCode
.
DELETE
||
a
.
keyCode
==
e
.
keyCode
.
BACKSPACE
))
return
a
=
e
.
postFormat
(
b
,
c
-
1
,
!
0
,
e
),
a
.
caret
=
a
.
pos
+
1
,
a
},
onKeyPress
:
function
(
a
,
b
,
c
,
e
){
if
(
e
.
autoGroup
)
return
a
=
e
.
postFormat
(
b
,
c
-
1
,
!
0
,
e
),
a
.
caret
=
a
.
pos
+
1
,
a
},
regex
:{
integerPart
:
function
(
a
){
return
/
[
-+
]?\d
+/
}},
negationhandler
:
function
(
a
,
b
,
c
,
e
,
d
){
return
!
e
&&
d
.
allowMinus
&&
"-"
===
b
.
prefix
.
length
&&
(
-
1
==
w
||
g
<
w
))
c
.
splice
(
l
.
index
,
1
);
else
if
(
"0"
==
a
&&
l
&&
0
<
l
[
"0"
].
length
&&
g
==
b
.
prefix
.
length
)
return
!
1
}
!
1
==
e
||
h
||
a
==
b
.
radixPoint
||!
0
!==
b
.
autoGroup
||
(
e
=
b
.
postFormat
(
c
,
g
,
"-"
==
a
||
"+"
==
a
?
!
0
:
!
1
,
b
))}
return
e
},
cardinality
:
1
,
prevalidator
:
null
},
"+"
:{
validator
:
function
(
a
,
c
,
d
,
h
,
b
){
c
=
"["
;
!
0
===
b
.
allowMinus
&&
(
c
+=
"-"
);
!
0
===
b
.
allowPlus
&&
(
c
+=
"+"
);
return
RegExp
(
c
+
"]"
).
test
(
a
)},
cardinality
:
1
,
prevalidator
:
null
}},
insertMode
:
!
0
,
autoUnmask
:
!
1
,
onUnMask
:
function
(
a
,
c
,
d
){
a
=
a
.
replace
(
d
.
prefix
,
""
);
a
=
a
.
replace
(
d
.
suffix
,
a
&&
(
a
=
b
.
join
(
""
).
match
(
d
.
regex
.
integerPart
(
d
)),
0
<
a
.
length
)?
"+"
==
b
[
a
.
index
]?{
pos
:
a
.
index
,
c
:
"-"
,
remove
:
a
.
index
,
caret
:
c
}:
"-"
==
b
[
a
.
index
]?{
remove
:
a
.
index
,
caret
:
c
-
1
}:{
pos
:
a
.
index
,
c
:
"-"
,
caret
:
c
+
1
}:
!
1
},
definitions
:{
"~"
:{
validator
:
function
(
a
,
b
,
c
,
g
,
d
){
var
h
=
d
.
negationhandler
(
a
,
b
.
buffer
,
c
,
g
,
d
);
if
(
!
h
&&
(
h
=
g
?
RegExp
(
"[0-9"
+
e
.
inputmask
.
escapeRegex
.
call
(
this
,
d
.
groupSeparator
)
+
"]"
).
test
(
a
):
/
[
0-9
]
/
.
test
(
a
),
!
0
===
h
&&
(
h
=
{
pos
:
c
}),
!
1
!=
h
&&!
g
)){
g
=
b
.
buffer
.
join
(
""
).
match
(
d
.
regex
.
integerPart
(
d
));
var
n
=
e
.
inArray
(
d
.
radixPoint
,
""
);
a
=
a
.
replace
(
RegExp
(
d
.
groupSeparator
,
"g"
),
""
);
a
=
a
.
replace
(
d
.
radixPoint
,
"."
);
return
Number
(
a
)},
isComplete
:
function
(
a
,
c
){
var
d
=
a
.
join
(
""
).
replace
(
c
.
prefix
,
""
),
d
=
d
.
replace
(
c
.
suffix
,
""
),
d
=
d
.
replace
(
RegExp
(
c
.
groupSeparator
,
"g"
),
""
),
d
=
d
.
replace
(
c
.
radixPoint
,
"."
);
return
isFinite
(
d
)},
onBeforeMask
:
function
(
a
,
c
){
return
isFinite
(
a
)?
a
.
toString
().
replace
(
"."
,
c
.
radixPoint
):
a
}},
decimal
:{
alias
:
"numeric"
},
integer
:{
alias
:
"numeric"
,
digits
:
"0"
}})})(
jQuery
);
b
.
buffer
);
if
(
g
)
if
(
0
==
g
[
"0"
][
0
].
indexOf
(
"0"
)
&&
c
>=
d
.
prefix
.
length
)
-
1
==
n
||
c
<=
n
&&
void
0
==
b
.
validPositions
[
n
]?(
b
.
buffer
.
splice
(
g
.
index
,
1
),
c
=
c
>
g
.
index
?
c
-
1
:
g
.
index
,
e
.
extend
(
h
,{
pos
:
c
,
remove
:
g
.
index
})):
c
>
g
.
index
&&
c
<=
n
&&
(
b
.
buffer
.
splice
(
g
.
index
,
1
),
c
=
c
>
g
.
index
?
c
-
1
:
g
.
index
,
e
.
extend
(
h
,{
pos
:
c
,
remove
:
g
.
index
}));
else
if
(
"0"
==
a
&&
c
<=
g
.
index
)
return
!
1
;
if
(
!
1
===
d
.
digitsOptional
&&
c
>
n
)
return
{
pos
:
c
,
remove
:
c
}}
return
h
},
cardinality
:
1
,
prevalidator
:
null
},
"+"
:{
validator
:
function
(
a
,
b
,
c
,
e
,
d
){
b
=
"["
;
!
0
===
d
.
allowMinus
&&
(
b
+=
"-"
);
!
0
===
(
function
(
d
){
d
.
extend
(
d
.
inputmask
.
defaults
.
aliases
,{
Regex
:{
mask
:
"r"
,
greedy
:
!
1
,
repeat
:
"*"
,
regex
:
null
,
regexTokens
:
null
,
tokenizer
:
/
\[\^?
]
?(?:[^\\\]]
+|
\\[\S\s]?)
*]
?
|
\\(?:
0
(?:[
0-3
][
0-7
]{0,2}
|
[
4-7
][
0-7
]?)?
|
[
1-9
][
0-9
]
*|x
[
0-9A-Fa-f
]{2}
|u
[
0-9A-Fa-f
]{4}
|c
[
A-Za-z
]
|
[\S\s]?)
|
\((?:\?[
:=!
]?)?
|
(?:[
?*+
]
|
\{[
0-9
]
+
(?:
,
[
0-9
]
*
)?\})\??
|
[^
.?*+^${[()|
\\]
+|./g
,
quantifierFilter
:
/
[
0-9
]
+
[^
,
]
/
,
isComplete
:
function
(
a
,
c
){
return
RegExp
(
c
.
regex
).
test
(
a
.
join
(
""
))},
definitions
:{
r
:{
validator
:
function
(
a
,
c
,
g
,
h
,
b
){
function
e
(
a
,
b
){
this
.
matches
=
d
.
allowPlus
&&
(
b
+=
"+"
);
return
RegExp
(
b
+
"]"
).
test
(
a
)},
cardinality
:
1
,
prevalidator
:
null
},
":"
:{
validator
:
function
(
a
,
b
,
c
,
g
,
d
){
b
=
d
.
negationhandler
(
a
,
b
.
buffer
,
c
,
g
,
d
);
b
||
(
d
=
"["
+
e
.
inputmask
.
escapeRegex
.
call
(
this
,
d
.
radixPoint
)
+
"]"
,
b
=
RegExp
(
d
).
test
(
a
));
return
b
},
cardinality
:
1
,
prevalidator
:
null
,
placeholder
:
""
}},
insertMode
:
!
0
,
autoUnmask
:
!
1
,
onUnMask
:
function
(
a
,
b
,
c
){
a
=
a
.
replace
(
c
.
prefix
,
""
);
a
=
a
.
replace
(
c
.
suffix
,
""
);
a
=
a
.
replace
(
RegExp
(
e
.
inputmask
.
escapeRegex
.
call
(
this
,
c
.
groupSeparator
),
"g"
),
""
);
return
a
=
a
.
replace
(
e
.
inputmask
.
escapeRegex
.
call
(
this
,
[];
this
.
isGroup
=
a
||!
1
;
this
.
isQuantifier
=
b
||!
1
;
this
.
quantifier
=
{
min
:
1
,
max
:
1
};
this
.
repeaterPart
=
void
0
}
function
l
(){
var
a
=
new
e
,
c
,
d
=
[];
for
(
b
.
regexTokens
=
[];
c
=
b
.
tokenizer
.
exec
(
b
.
regex
);)
switch
(
c
=
c
[
0
],
c
.
charAt
(
0
)){
case
"("
:
d
.
push
(
new
e
(
!
0
));
break
;
case
")"
:
var
f
=
d
.
pop
();
0
<
d
.
length
?
d
[
d
.
length
-
1
].
matches
.
push
(
f
):
a
.
matches
.
push
(
f
);
break
;
case
"{"
:
case
"+"
:
case
"*"
:
var
g
=
new
e
(
!
1
,
!
0
);
c
=
c
.
replace
(
/
[
{}
]
/g
,
""
);
f
=
c
.
split
(
","
);
c
=
isNaN
(
f
[
0
])?
f
[
0
]:
parseInt
(
f
[
0
]);
f
=
1
==
f
.
length
?
c
:
isNaN
(
f
[
1
])?
f
[
1
]:
parseInt
(
f
[
1
]);
g
.
quantifier
=
c
.
radixPoint
),
"."
)},
isComplete
:
function
(
a
,
b
){
var
c
=
a
.
join
(
""
),
g
=
a
.
slice
();
b
.
postFormat
(
g
,
0
,
!
0
,
b
);
if
(
g
.
join
(
""
)
!=
c
)
return
!
1
;
c
=
c
.
replace
(
b
.
prefix
,
""
);
c
=
c
.
replace
(
b
.
suffix
,
""
);
c
=
c
.
replace
(
RegExp
(
e
.
inputmask
.
escapeRegex
.
call
(
this
,
b
.
groupSeparator
),
"g"
),
""
);
c
=
c
.
replace
(
e
.
inputmask
.
escapeRegex
.
call
(
this
,
b
.
radixPoint
),
"."
);
return
isFinite
(
c
)},
onBeforeMask
:
function
(
a
,
b
){
if
(
isFinite
(
a
))
return
a
.
toString
().
replace
(
"."
,
b
.
radixPoint
);
var
c
=
a
.
match
(
/,/g
),
g
=
a
.
match
(
/
\.
/g
);
g
&&
c
?
g
.
length
>
c
.
length
?(
a
=
a
.
replace
(
/
\.
/g
,
{
min
:
c
,
max
:
f
};
if
(
0
<
d
.
length
){
var
h
=
d
[
d
.
length
-
1
].
matches
;
c
=
h
.
pop
();
c
.
isGroup
||
(
f
=
new
e
(
!
0
),
f
.
matches
.
push
(
c
),
c
=
f
);
h
.
push
(
c
);
h
.
push
(
g
)}
else
c
=
a
.
matches
.
pop
(),
c
.
isGroup
||
(
f
=
new
e
(
!
0
),
f
.
matches
.
push
(
c
),
c
=
f
),
a
.
matches
.
push
(
c
),
a
.
matches
.
push
(
g
);
break
;
default
:
0
<
d
.
length
?
d
[
d
.
length
-
1
].
matches
.
push
(
c
):
a
.
matches
.
push
(
c
)}
0
<
a
.
matches
.
length
&&
b
.
regexTokens
.
push
(
a
)}
function
w
(
a
,
b
){
var
c
=!
1
;
b
&&
(
v
+=
"("
,
G
++
);
for
(
var
f
=
0
;
f
<
a
.
matches
.
length
;
f
++
){
var
e
=
a
.
matches
[
f
];
if
(
!
0
==
e
.
isGroup
)
c
=
w
(
e
,
!
0
);
else
if
(
!
0
==
e
.
isQuantifier
){
var
g
=
""
),
a
=
a
.
replace
(
","
,
b
.
radixPoint
)):
c
.
length
>
g
.
length
&&
(
a
=
a
.
replace
(
/,/g
,
""
),
a
=
a
.
replace
(
"."
,
b
.
radixPoint
)):
a
=
a
.
replace
(
RegExp
(
e
.
inputmask
.
escapeRegex
.
call
(
this
,
b
.
groupSeparator
),
"g"
),
""
);
return
a
}},
decimal
:{
alias
:
"numeric"
},
integer
:{
alias
:
"numeric"
,
digits
:
"0"
}})})(
jQuery
);
d
.
inArray
(
e
,
a
.
matches
),
g
=
a
.
matches
[
g
-
1
],
h
=
v
;
if
(
isNaN
(
e
.
quantifier
.
max
)){
for
(;
e
.
repeaterPart
&&
e
.
repeaterPart
!=
v
&&
e
.
repeaterPart
.
length
>
v
.
length
&&!
(
c
=
w
(
g
,
!
0
)););(
c
=
c
||
w
(
g
,
!
0
))
&&
(
e
.
repeaterPart
=
v
);
v
=
h
+
e
.
quantifier
.
max
}
else
{
for
(
var
l
=
0
,
q
=
e
.
quantifier
.
max
-
1
;
l
<
q
&&!
(
c
=
w
(
g
,
!
0
));
l
++
);
v
=
h
+
"{"
+
e
.
quantifier
.
min
+
","
+
e
.
quantifier
.
max
+
"}"
}}
else
if
(
void
0
!=
e
.
matches
)
for
(
g
=
0
;
g
<
e
.
length
&&!
(
c
=
w
(
e
[
g
],
b
));
g
++
);
else
{
if
(
"["
==
e
[
0
]){
c
=
v
;
c
+=
e
;
for
(
l
=
0
;
l
<
G
;
l
++
)
c
+=
")"
;
c
=
RegExp
(
"^("
+
c
+
")$"
);
c
=
c
.
test
(
H
)}
else
for
(
g
=
0
,
h
=
e
.
length
;
g
<
(
function
(
e
){
e
.
extend
(
e
.
inputmask
.
defaults
.
aliases
,{
Regex
:{
mask
:
"r"
,
greedy
:
!
1
,
repeat
:
"*"
,
regex
:
null
,
regexTokens
:
null
,
tokenizer
:
/
\[\^?
]
?(?:[^\\\]]
+|
\\[\S\s]?)
*]
?
|
\\(?:
0
(?:[
0-3
][
0-7
]{0,2}
|
[
4-7
][
0-7
]?)?
|
[
1-9
][
0-9
]
*|x
[
0-9A-Fa-f
]{2}
|u
[
0-9A-Fa-f
]{4}
|c
[
A-Za-z
]
|
[\S\s]?)
|
\((?:\?[
:=!
]?)?
|
(?:[
?*+
]
|
\{[
0-9
]
+
(?:
,
[
0-9
]
*
)?\})\??
|
[^
.?*+^${[()|
\\]
+|./g
,
quantifierFilter
:
/
[
0-9
]
+
[^
,
]
/
,
isComplete
:
function
(
a
,
b
){
return
RegExp
(
b
.
regex
).
test
(
a
.
join
(
""
))},
definitions
:{
r
:{
validator
:
function
(
a
,
b
,
c
,
g
,
d
){
function
h
(
a
,
b
){
this
.
matches
=
h
;
g
++
)
if
(
"
\
\"
!=e[g]){c=v;c+=e.substr(0,g+1);c=c.replace(/
\
|$/,"");for(l=0;l<G;l++)c+="
)
";c=RegExp("
^
(
"+c+"
)
$
");if(c=c.test(H))break}v+=e}if(c)break}b&&(v+="
)
",G--);return c}null==b.regexTokens&&l();h=c.slice();var v="";c=!1;var G=0;h.splice(g,0,a);var H=h.join("");for(a=0;a<b.regexTokens.length&&!(e=b.regexTokens[a],c=w(e,e.isGroup));a++);return c},cardinality:1}}}})})(jQuery);
[];
this
.
isGroup
=
a
||!
1
;
this
.
isQuantifier
=
b
||!
1
;
this
.
quantifier
=
{
min
:
1
,
max
:
1
};
this
.
repeaterPart
=
void
0
}
function
n
(){
var
a
=
new
h
,
b
,
c
=
[];
for
(
d
.
regexTokens
=
[];
b
=
d
.
tokenizer
.
exec
(
d
.
regex
);)
switch
(
b
=
b
[
0
],
b
.
charAt
(
0
)){
case
"("
:
c
.
push
(
new
h
(
!
0
));
break
;
case
")"
:
var
e
=
c
.
pop
();
0
<
c
.
length
?
c
[
c
.
length
-
1
].
matches
.
push
(
e
):
a
.
matches
.
push
(
e
);
break
;
case
"{"
:
case
"+"
:
case
"*"
:
var
g
=
new
h
(
!
1
,
!
0
);
b
=
b
.
replace
(
/
[
{}
]
/g
,
""
);
e
=
b
.
split
(
","
);
b
=
isNaN
(
e
[
0
])?
e
[
0
]:
parseInt
(
e
[
0
]);
e
=
1
==
e
.
length
?
b
:
isNaN
(
e
[
1
])?
e
[
1
]:
parseInt
(
e
[
1
]);
g
.
quantifier
=
(function(d){d.extend(d.inputmask.defaults.aliases,{phone:{url:"
phone
-
codes
/
phone
-
codes
.
json
",mask:function(a){a.definitions={p:{validator:function(){return!1},cardinality:1},"
#
":{validator:"
[
0
-
9
]
",cardinality:1}};var c=[];d.ajax({url:a.url,async:!1,dataType:"
json
",success:function(a){c=a}});c.splice(0,0,"
+
p
(
ppp
)
ppp
-
pppp
");return c},nojumps:!0,nojumpsThreshold:1},phonebe:{url:"
phone
-
codes
/
phone
-
be
.
json
",mask:function(a){a.definitions={p:{validator:function(){return!1},cardinality:1},"
#
":{validator:"
[
0
-
9
]
",
{
min
:
b
,
max
:
e
};
if
(
0
<
c
.
length
){
var
n
=
c
[
c
.
length
-
1
].
matches
;
b
=
n
.
pop
();
b
.
isGroup
||
(
e
=
new
h
(
!
0
),
e
.
matches
.
push
(
b
),
b
=
e
);
n
.
push
(
b
);
n
.
push
(
g
)}
else
b
=
a
.
matches
.
pop
(),
b
.
isGroup
||
(
e
=
new
h
(
!
0
),
e
.
matches
.
push
(
b
),
b
=
e
),
a
.
matches
.
push
(
b
),
a
.
matches
.
push
(
g
);
break
;
default
:
0
<
c
.
length
?
c
[
c
.
length
-
1
].
matches
.
push
(
b
):
a
.
matches
.
push
(
b
)}
0
<
a
.
matches
.
length
&&
d
.
regexTokens
.
push
(
a
)}
function
y
(
a
,
b
){
var
c
=!
1
;
b
&&
(
u
+=
"("
,
K
++
);
for
(
var
d
=
0
;
d
<
a
.
matches
.
length
;
d
++
){
var
g
=
a
.
matches
[
d
];
if
(
!
0
==
g
.
isGroup
)
c
=
y
(
g
,
!
0
);
else
if
(
!
0
==
g
.
isQuantifier
){
var
h
=
cardinality:1}};var c=[];d.ajax({url:a.url,async:!1,dataType:"
json
",success:function(a){c=a}});c.splice(0,0,"
+
32
(
ppp
)
ppp
-
pppp
");return c},nojumps:!0,nojumpsThreshold:4}})})(jQuery);
e
.
inArray
(
g
,
a
.
matches
),
h
=
a
.
matches
[
h
-
1
],
n
=
u
;
if
(
isNaN
(
g
.
quantifier
.
max
)){
for
(;
g
.
repeaterPart
&&
g
.
repeaterPart
!=
u
&&
g
.
repeaterPart
.
length
>
u
.
length
&&!
(
c
=
y
(
h
,
!
0
)););(
c
=
c
||
y
(
h
,
!
0
))
&&
(
g
.
repeaterPart
=
u
);
u
=
n
+
g
.
quantifier
.
max
}
else
{
for
(
var
m
=
0
,
t
=
g
.
quantifier
.
max
-
1
;
m
<
t
&&!
(
c
=
y
(
h
,
!
0
));
m
++
);
u
=
n
+
"{"
+
g
.
quantifier
.
min
+
","
+
g
.
quantifier
.
max
+
"}"
}}
else
if
(
void
0
!=
g
.
matches
)
for
(
h
=
0
;
h
<
g
.
length
&&!
(
c
=
y
(
g
[
h
],
b
));
h
++
);
else
{
if
(
"["
==
g
[
0
]){
c
=
u
;
c
+=
g
;
for
(
m
=
0
;
m
<
K
;
m
++
)
c
+=
")"
;
c
=
RegExp
(
"^("
+
c
+
")$"
);
c
=
c
.
test
(
L
)}
else
for
(
h
=
0
,
n
=
g
.
length
;
h
<
n
;
h
++
)
if
(
"
\
\"
!=g[h]){c=u;c+=g.substr(0,h+1);c=c.replace(/
\
|$/,"");for(m=0;m<K;m++)c+="
)
";c=RegExp("
^
(
"+c+"
)
$
");if(c=c.test(L))break}u+=g}if(c)break}b&&(u+="
)
",K--);return c}null==d.regexTokens&&n();g=b.buffer.slice();var u="";b=!1;var K=0;g.splice(c,0,a);var L=g.join("");for(a=0;a<d.regexTokens.length&&!(h=d.regexTokens[a],b=y(h,h.isGroup));a++);return b},cardinality:1}}}})})(jQuery);
(function(e){e.extend(e.inputmask.defaults.aliases,{phone:{url:"
phone
-
codes
/
phone
-
codes
.
json
",mask:function(a){a.definitions={p:{validator:function(){return!1},cardinality:1},"
#
":{validator:"
[
0
-
9
]
",cardinality:1}};var b=[];e.ajax({url:a.url,async:!1,dataType:"
json
",success:function(a){b=a}});b.splice(0,0,"
+
p
(
ppp
)
ppp
-
pppp
");return b},nojumps:!0,nojumpsThreshold:1},phonebe:{url:"
phone
-
codes
/
phone
-
be
.
json
",mask:function(a){a.definitions={p:{validator:function(){return!1},cardinality:1},"
#
":{validator:"
[
0
-
9
]
",
cardinality:1}};var b=[];e.ajax({url:a.url,async:!1,dataType:"
json
",success:function(a){b=a}});b.splice(0,0,"
+
32
(
ppp
)
ppp
-
pppp
");return b},nojumps:!0,nojumpsThreshold:4}})})(jQuery);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment