All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.javascript.jscomp.RewriteAsyncIteration.class Maven / Gradle / Ivy

Go to download

Closure Compiler is a JavaScript optimizing compiler. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what's left. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls. It is used in many of Google's JavaScript apps, including Gmail, Google Web Search, Google Maps, and Google Docs.

The newest version!
????7@
java/lang/Object()V		
2com/google/javascript/jscomp/RewriteAsyncIterationnextForAwaitIdI
$com/google/common/base/PreconditionscheckNotNull&(Ljava/lang/Object;)Ljava/lang/Object;-com/google/javascript/jscomp/AbstractCompiler	compiler/Lcom/google/javascript/jscomp/AbstractCompiler;'com/google/javascript/jscomp/AstFactory	
astFactory)Lcom/google/javascript/jscomp/AstFactory; 'com/google/javascript/rhino/StaticScope	"#$	namespace)Lcom/google/javascript/rhino/StaticScope;&java/util/ArrayDeque
%	)*+contextStackLjava/util/ArrayDeque;
-./createAstFactory+()Lcom/google/javascript/jscomp/AstFactory;
123getTranspilationNamespace+()Lcom/google/javascript/rhino/StaticScope;
56?(Lcom/google/javascript/jscomp/AbstractCompiler;Lcom/google/javascript/jscomp/AstFactory;Lcom/google/javascript/rhino/StaticScope;)V
%89:isEmpty()Z
<=>
checkState(Z)V
@ABCDAcom/google/javascript/jscomp/RewriteAsyncIteration$LexicalContextnewGlobalContextg(Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/jscomp/RewriteAsyncIteration$LexicalContext;
%FGHpush(Ljava/lang/Object;)V	JKLtranspiledFeatures8Lcom/google/javascript/jscomp/parsing/parser/FeatureSet;N3com/google/javascript/jscomp/NodeTraversal$Callback
PQRST0com/google/javascript/jscomp/TranspilationPassesprocessTranspile?(Lcom/google/javascript/jscomp/AbstractCompiler;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/parsing/parser/FeatureSet;[Lcom/google/javascript/jscomp/NodeTraversal$Callback;)V
PVWX!maybeMarkFeaturesAsTranspiledAway?(Lcom/google/javascript/jscomp/AbstractCompiler;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/parsing/parser/FeatureSet;)V
%Z[\element()Ljava/lang/Object;	@^_`function"Lcom/google/javascript/rhino/Node;
%bc\remove
efgh: com/google/javascript/rhino/Node
isFunction
@jklnewContextForFunction?(Lcom/google/javascript/jscomp/RewriteAsyncIteration$LexicalContext;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/AbstractCompiler;)Lcom/google/javascript/jscomp/RewriteAsyncIteration$LexicalContext;
eno:isParamList
@qrlnewContextForParamList	tuvwx4com/google/javascript/jscomp/RewriteAsyncIteration$1,$SwitchMap$com$google$javascript$rhino$Token[I
ez{|getToken%()Lcom/google/javascript/rhino/Token;
~???!com/google/javascript/rhino/Tokenordinal()I	@??`contextRoot
???equals(Ljava/lang/Object;)Z
?=?(ZLjava/lang/Object;)V
%??\pop
e??:isAsyncGeneratorFunction
???convertAsyncGenerator%(Lcom/google/javascript/rhino/Node;)V
???prependTempVarDeclarationsr(Lcom/google/javascript/jscomp/RewriteAsyncIteration$LexicalContext;Lcom/google/javascript/jscomp/NodeTraversal;)V
???convertAwaitOfAsyncGeneratorh(Lcom/google/javascript/jscomp/RewriteAsyncIteration$LexicalContext;Lcom/google/javascript/rhino/Node;)V
???convertYieldOfAsyncGenerator
???convertReturnOfAsyncGenerator
e??:isAsyncFunction
???replaceForAwaitOf
?????*com/google/javascript/jscomp/NodeTraversalgetCurrentScript$()Lcom/google/javascript/rhino/Node;	?????>com/google/javascript/jscomp/parsing/parser/FeatureSet$FeatureCONST_DECLARATIONS@Lcom/google/javascript/jscomp/parsing/parser/FeatureSet$Feature;
?????%com/google/javascript/jscomp/NodeUtiladdFeatureToScript?(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/parsing/parser/FeatureSet$Feature;Lcom/google/javascript/jscomp/AbstractCompiler;)V
@??:mustReplaceThisSuperArgs
???replaceThis?	arguments
e???matchesName(Ljava/lang/String;)Z
???replaceArguments
???replaceSuper?(Lcom/google/javascript/jscomp/RewriteAsyncIteration$LexicalContext;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)V?$jscomp.AsyncGeneratorWrapper
???createQName_(Lcom/google/javascript/rhino/StaticScope;Ljava/lang/String;)Lcom/google/javascript/rhino/Node;
???(createEmptyAsyncGeneratorWrapperArgumentO(Lcom/google/javascript/rhino/jstype/JSType;)Lcom/google/javascript/rhino/Node;
e???getLastChild
e???detach
e???replaceWith	?????2com/google/javascript/jscomp/colors/StandardColorsGENERATOR_ID-Lcom/google/javascript/jscomp/colors/ColorId;
???type](Lcom/google/javascript/jscomp/colors/ColorId;)Lcom/google/javascript/jscomp/AstFactory$Type;
???
createCall?(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/AstFactory$Type;[Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node;
???
createNewNodei(Lcom/google/javascript/rhino/Node;[Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node;
???createReturnF(Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node;
???createBlockG([Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node;
e???addChildToBack
e>setIsAsyncFunction
e>setIsGeneratorFunction
e?srcrefTreeIfMissing

?reportChangeToChangeScope
e
:isAwait
e?removeFirstChildawait needs an expression
8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;*$jscomp.AsyncGeneratorWrapper$ActionRecord4$jscomp.AsyncGeneratorWrapper$ActionEnum.AWAIT_VALUE
e?addChildToFront	~ !YIELD#Lcom/google/javascript/rhino/Token;
e#$%setToken&(Lcom/google/javascript/rhino/Token;)V
e'(:isYield
e*+:
isYieldAll-3$jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_STAR
?/0?newUndefinedNode24$jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE	e456	YIELD_ALL'Lcom/google/javascript/rhino/Node$Prop;
e89:putBooleanProp+(Lcom/google/javascript/rhino/Node$Prop;Z)V
e<=:isReturn?@AmakeConcatWithConstants(I)Ljava/lang/String;????
eGH:	hasParentJ&Cannot replace parentless for-await-of
eLM?	getParent
eOP:isLabel
eRSTisSecondChildOf%(Lcom/google/javascript/rhino/Node;)Z
VWX!createJSCompMakeAsyncIteratorCallo(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/StaticScope;)Lcom/google/javascript/rhino/Node;
Z[\createSingleVarNameDeclarationX(Ljava/lang/String;Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node;	?^_`
TOP_OBJECT+Lcom/google/javascript/jscomp/colors/Color;
b?c[(Lcom/google/javascript/jscomp/colors/Color;)Lcom/google/javascript/jscomp/AstFactory$Type;
efg
createNamed(Ljava/lang/String;Lcom/google/javascript/jscomp/AstFactory$Type;)Lcom/google/javascript/rhino/Node;idone	?kl`BOOLEAN
nop
createGetProp?(Lcom/google/javascript/rhino/Node;Ljava/lang/String;Lcom/google/javascript/jscomp/AstFactory$Type;)Lcom/google/javascript/rhino/Node;
rs?createBreak
uvwcreateIfh(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node;
eyz:isValidAssignmentTarget
|?}R(Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/jscomp/AstFactory$Type;value
??wcreateAssign
???
exprResult
???TisNameDeclaration
e???
getFirstChild
e??:isName
e??:isDestructuringLhs
e???getOnlyChild?java/lang/AssertionError?unexpected for-await-of lhs
??H
?[?6(Ljava/lang/String;)Lcom/google/javascript/rhino/Node;
???constructAwaitNextResult?(Lcom/google/javascript/jscomp/RewriteAsyncIteration$LexicalContext;Ljava/lang/String;Lcom/google/javascript/jscomp/AstFactory$Type;Lcom/google/javascript/jscomp/AstFactory$Type;)Lcom/google/javascript/rhino/Node;
??\
???createEmpty
???ensureBlock
???	createFor?(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node;
e???	cloneNode
??wcreateLabel
???createOuterTry
e???insertBefore
???createOuterCatchH(Ljava/lang/String;Ljava/lang/String;)Lcom/google/javascript/rhino/Node;
???createOuterFinally(Lcom/google/javascript/jscomp/RewriteAsyncIteration$LexicalContext;Lcom/google/javascript/jscomp/AstFactory$Type;Lcom/google/javascript/jscomp/AstFactory$Type;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/google/javascript/rhino/Node;
???createTryCatchFinally?(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node;
???reportChangeToEnclosingScope?error
???createNameWithUnknownType
??\createStringKey
???createObjectLit
??wcreateCatch
???	createNot
??w	createAnd?return	???`UNKNOWN?call
???createGetPropWithUnknownTypeX(Lcom/google/javascript/rhino/Node;Ljava/lang/String;)Lcom/google/javascript/rhino/Node;
???createYieldt(Lcom/google/javascript/jscomp/AstFactory$Type;Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node;	????
PROMISE_ID
???createAwait
???createThrow
??wcreateTryFinally
e??:isBlock
e???srcref?next
?createCallWithUnknownType
e:isThis
>
checkArgument
)Cannot prepend declarations to root scope
?	@thisSuperArgsContextILcom/google/javascript/jscomp/RewriteAsyncIteration$ThisSuperArgsContext;	Gcom/google/javascript/jscomp/RewriteAsyncIteration$ThisSuperArgsContextuniqueIdLjava/lang/String;@&(Ljava/lang/String;)Ljava/lang/String;

createThisR(Lcom/google/javascript/jscomp/AstFactory$Type;)Lcom/google/javascript/rhino/Node;	 `
thisNodeToAdd
e"#$	getString()Ljava/lang/String;
&?'java/lang/String)$jscomp$asyncIter$arguments	+,-
usedArgumentsZ
e/0:	isGetProp	234CANNOT_CONVERT_ASYNCGEN-Lcom/google/javascript/jscomp/DiagnosticType;6Fsuper only allowed with getprop (like super.foo(), not super['foo']())
89:;<$com/google/javascript/jscomp/JSErrormake?(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/DiagnosticType;[Ljava/lang/String;)Lcom/google/javascript/jscomp/JSError;
>?@report)(Lcom/google/javascript/jscomp/JSError;)V
eBC:isSuper
eFG:isCall
IJ?createThisForEs6ClassMember
eLM?insertAfter
eOP?
srcrefTree	RSTusedSuperPropertiesLjava/util/Set;VWXY?
java/util/Setadd
[\\ createSingleConstNameDeclaration
^_?createArgumentsReferenceVabciterator()Ljava/util/Iterator;efgh:java/util/IteratorhasNextej?\
lmn createSuperMethodReferenceGetterr(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/NodeTraversal;)Lcom/google/javascript/rhino/Node;
epq?removeChildren
est?addChildrenToFrontV8
wxcreateSuper
z{?'createZeroArgArrowFunctionForExpression	?}~?ARROW_FUNCTIONS	????L6com/google/javascript/jscomp/parsing/parser/FeatureSetBARE_MINIMUM	????ASYNC_GENERATORS	????FOR_AWAIT_OF
????with{([Lcom/google/javascript/jscomp/parsing/parser/FeatureSet$Feature;)Lcom/google/javascript/jscomp/parsing/parser/FeatureSet;?JSC_CANNOT_CONVERT_ASYNCGEN?#Cannot convert async generator. {0}
?????+com/google/javascript/jscomp/DiagnosticTypeS(Ljava/lang/String;Ljava/lang/String;)Lcom/google/javascript/jscomp/DiagnosticType;?)com/google/javascript/jscomp/CompilerPassACTION_RECORD_NAME
ConstantValueACTION_ENUM_AWAITACTION_ENUM_YIELDACTION_ENUM_YIELD_STARFOR_AWAIT_ITERATOR_TEMP_NAME?$jscomp$forAwait$tempIteratorFOR_AWAIT_RESULT_TEMP_NAME?$jscomp$forAwait$tempResult FOR_AWAIT_ERROR_RESULT_TEMP_NAME?$jscomp$forAwait$errResultFOR_AWAIT_CATCH_PARAM_TEMP_NAME?$jscomp$forAwait$catchErrParamFOR_AWAIT_RETURN_FN_TEMP_NAME?$jscomp$forAwait$retFn	Signature[Ljava/util/ArrayDeque;
THIS_VAR_NAME?$jscomp$asyncIter$this$ARGUMENTS_VAR_NAMESUPER_PROP_GETTER_PREFIX?$jscomp$asyncIter$super$get$CodeLineNumberTableLocalVariableTablethis4Lcom/google/javascript/jscomp/RewriteAsyncIteration;MethodParameterscreatee(Lcom/google/javascript/jscomp/AbstractCompiler;)Lcom/google/javascript/jscomp/RewriteAsyncIteration;processG(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)Vexternsroot
StackMapTableshouldTraverses(Lcom/google/javascript/jscomp/NodeTraversal;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)Z
nodeTraversal,Lcom/google/javascript/jscomp/NodeTraversal;nparentvisits(Lcom/google/javascript/jscomp/NodeTraversal;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)VtctxCLcom/google/javascript/jscomp/RewriteAsyncIteration$LexicalContext;originalFunctionasyncGeneratorWrapperRef
innerFunction
innerBlock
outerBlock	awaitNode
expressionnewActionRecord	yieldNode
returnNodereplacementPoint
lhsAssignment
resultType.Lcom/google/javascript/jscomp/AstFactory$Type;destructuringPatterndeclarationTarget
forAwaitOf
forAwaitIditeratorTempNameresultTempNameerrorResultTempNamecatchErrorParamTempNamereturnFuncTempNameforAwaitOfParentlhsrhsoriginalBodyinitializeriterableResultTypebreakIfDoneerrorResDecltempResultDeclreturnFuncDeclresultDeclaration
newForLooptryNode	catchNodefinallyNodetryCatchFinally?,com/google/javascript/jscomp/AstFactory$Type
catchBodyStmtwrapperCatchBlockNodetmpResNameNodetmpResDoneGetPropandassignifCondawaitOrYieldStmtifBodyifBlock
innerTryBlockinnerFinallyBlocksecondIfBody	throwStmtsecondIfCond
secondIfBlockfinallyBody
possiblyBlockresultiteratorTypeiteratorTemppropertyNamepropertyReplacementNameTextgetPropReplacementgrandparentreplacedMethodReferencethisSuperArgsCtxblockprefixBlocktypeOfSupersuperReferencereplacedMethodName
arrowFunctionsuperReplacementName
SourceFileRewriteAsyncIteration.javaNestMembersBootstrapMethods
 !"@#$java/lang/invoke/StringConcatFactory?(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;%$jscomp$forAwait$tempIterator'$jscomp$forAwait$tempResult)$jscomp$forAwait$errResult+$jscomp$forAwait$catchErrParam-$jscomp$forAwait$retFn/$jscomp$asyncIter$this$1$jscomp$asyncIter$super$get$InnerClassesLexicalContextCallbackFeatureType8%com/google/javascript/rhino/Node$PropPropThisSuperArgsContext<%java/lang/invoke/MethodHandles$Lookup>java/lang/invoke/MethodHandlesLookup1M?KL34??????1??,???????????????*+???????(???#$6??6*?*?*+?
??*,?
??*-?
??!*?%Y?'?(???P	???*?5??*6??666#$?
#???[*?,L*?0M?Y*+,?4????
?? 
#$?????^*?(?7?;*?(,???E*?,?I?MY*S?O*?,?I?U*?(?Y?@?]???;*?(?aW*?(?7?;??"?
??(?3?K?S?]?? ^??^?`^?`??G@?	??????E,?d?*?(*?(?Y?@,*??i?E?#,?m?*?(*?(?Y?@,*??p?E??&	????#?*?2?@?C??*E??E??E?`E?`?#?
??????7Q*?(?Y?@:?s,?y?}.?9	1Is????&,????,??*?(??W??,?????;,???*,??*+??*?(??W???]?
W?]????*,?????]?
W?]????*,?????]?
W?]???y*,???o?]?
W?]???;*,??+????*????C???;*,???1???),öř *,?ɧ???*,-?̧??? ??H?U?]?`?l?s?x????????	?
???????
"#3$=(E)P0?4Q??Q??Q?`Q?`E????H@
+?
????????+?
W+???;*?*?!ж?M*???N+??:??W-????*??eY*?*?,?eY*?-????e??S???S??:+??+?+?++?W*?+?	*?-?	??RIJLMN#P)Q/R8VY[dYgXkWp\v^{_?`?b?c?d?>?????`}?`#t?`)n?`p'?`?????{,?
W,??;+?+?]???;+?]???;,?N-?W*?*?*?!???eY*?*?!??SY-S??:,?W,?,??"??:rstu)w.x6yE{Y|azf~ms?z??4{??{??{?`.M?`f?`?@?	?????a?,?
W,?&?;+?+?]???;+?]???;,?N*?*?*?!???e??:,?)?$-?
W*?*?!,?Ҷ?-???%-??.N*?*?!1?Ҷ?-??,?W,?,?3?7??V????)?.?=?I?P?U?b?e?h?q?u?z????????????4????????`.{?`I`?`?@?Tee?	?????y,?
W,?;?;+?+?]???;+?]???;,?N*?*?*?!???e??:-??.N*?*?!1?Ҷ?-??,?W,???:????)?.?=?I?M?R?e?k?r?x??4y??y??y?`.K?`I0?`?@?5ee?	??????
?*Y?Z`?>?>:?B:?C:?D:?E:,?FI??,?K:		?N?,	?Q	??	:
?,:
,?:,?:,?:
*?*?*?!?U?Y?:?]?a:*?*?*??dh?j?a?m*??eY*??qS???t:?x?6?{:*?*?*?*??d~?m????:?????s??:???)?{:*?*??d~?m???7??????:?{:*?*??d~?m??:???Y?????W*???,?:*???,?:*???,?:*?*?*+??????:*?*???*???*???*??eYSYSYSY*
??S????:
?N?*?
??????:*??:??*??:*+??:*???:
??
?W??????*??Ʊ?ZV????$,4>DL
W^
agms??????"?$?!?%? ?*?-?.?3?20/678#;*<8>@=C<IBSCZDaEoGwFzE}I?J?K?M?P?R?S?V?W?Z?\?]?`?d?b?a?f?h?i?jlkg"n*o=sEtLwVzd{i?x?????????????j$[?`
	?`?,??*??Z#?`f?`??`a#??????????`??????$??,z?4r?Db?`	aE?`
g??`m9?`s3?`
??`??????`??`?????`???`???`???`"??`Ea?`VP?`i=?`x.?`??^
@e&&&&&e?e??@e&&&&&eeeeee?e?<e?3@e&&&&&eeeeee?e?e??
e???@e&&&&&eeeeee?ee?eeeee?	?????Y*??e??M,+??,?????? ???`?`??????U*?*?,*??eY*??*?+?˶?S?Ѷ???N*??e??:-??*?*?+???԰?.??"?&?)?,?0?=?C?L?Q??4U??U?U?0%?`=?`?	??????*??e??:*???:	*?*?,?dh?j?a?m:
*?	*?
?׶?:*?*???*?*?-?dݲ߸a?m??:*???:
:+?]???{*?*?,*?*?*?!???eY*?*?!??SY*?*?*??߸a?d??߸a?eY*?-?dS??S????:?K*?*?,*?*?*??߸a?d?????eY*?-?dS?????:*??e??:??*?
?t:*??e??:??*??e??:*??e??:*?*?*???ɶ??:??*???:*??t:??*???:?????6?
??#?,?/?4?H?R?`?i?l?o?t?????????????????????????????? ?)?/???C?F?I?N?[?b?o?|??????????????	?
???????????????????????
??`??`	4??`
H??`t??`?u?`
?r?`[??`o?`|z`?f`?Y`?=`?+`?`?
`?9?@??&&&&eeeeeee?G???????????l+???+?*??eY+S??+???????`?Re????q?+?]?
W*?,-?d:+?]???U*?*?*?*?!???eY*?*?!??SY*?*?????e?S???:?+*?*?*???????e????:??B 2$F%Y'`&d#g!o)?-?.?,?*?1?Rl	`?????????
?????	`?`?%?oe?'@&??ee???
?????q,??+?+?????+?]??	?+?
?
W,*?+?
??,?{?d,????+?
*?,?{??*?+?]?	??.567,84:F<M=P:S>e?p@? q??q??q?`?@
@?	??????r,????,?!?%???+?+?????+?]??	?+?
?
W,*?(,?{?d,????+?
?**?+?]?	??"CD.E@FHH^IfJqK? r??r??r?`?@@
@?	?????	-?.?*?-?1?&Y5S?7?=?,?A?+?+?????+?]??	?+?
?
W-?!:?D:*?*??]?a?d-?{?e??:-?K:?E?T??-?K*???:+?
*?+???K?H?*?+?
??+?
??{?d-??-?K-?NW-??+?
?Q-?UW*?+?]?	??zNOPOT V'W:XLYT[Z\c_pawb~`?c?d?f?g?h?i?l?j?m?n?p?q?r?st?R	??	??	?`	?`Z?c?
??`??`?( @
@??@ee&&ee?
??????	+???+?]??	?+?
?
W+?
N+?]:??:?W*??e??:-??!*?-??-??Z?N??-?*?*?(*??]?Z?N??-?Q?`:?d??i?e:*,?k??????W?o?r-??-?*?-?Q?u?*??	,????*?????v???&?+?1?8?@?M?T?g?l?o?r?y?????????????????????????????R?`??????+?1?_`8?`M?`?0
@
@?Y@?eee!?
e?$+?	??mn?
q+???{N*?-?v:+?!:*?*??eY*?*?+?{?m??S???y:*??	,???|*????D:*??Z??6
????3?6?9?=?@?E?N?\?e??Rq??q`q??i?_`YE,`e?	??N&???Y??SY??S???I?????1??:;=>%=t@,$&(*,.02B@3M?4	t??5@?67e9@:;=?




© 2015 - 2024 Weber Informatics LLC | Privacy Policy